|
Boost : |
Subject: Re: [boost] different matrix library?
From: joel (joel.falcou_at_[hidden])
Date: 2009-08-19 14:15:39
DE wrote:
> i got somewhat unexpected results
>
Everybody I show that does.
> 1. a small mixin to vector operations
> disadvantage is ~10% - predictable
> (here by advantage i mean ratio (old_time - nrc_time)/old_time
> since i assume that nrc would outperform old (non-nrc) code (should
> be nrc_time<old_time, then ration is >0)
> if the ratio is negative then it is actually a disadvantage
> value of ratio is in % for convenience)
>
Hmm for 1D vector, no need for NRC as you have 1D array or am I missing
smthg
> 2. intensive matrix operations (+-* etc.)
> advantage is roughly zero - predictable
>
Normal
> 3. matrix multiplication
> advantage is roughly zero for best implementation - predictable
> (see mul.png)
>
Normal
> 4. matrix inversion (inplace, full pivoting)
> _advantage_ is ~15% - totally unpredictable
> (see inv.png)
>
> actually it's difficult for me to explain the reason
> since it implements full pivoting maybe acceleration of the search
> process defeats the slowness of reducing cycles
> or maybe i made a mistake
>
You don't trash the cache with index computation. That's the only thing
I can see usign cachegrind
> however i can explain cases 1-3 disadvantages by the involvement of
> additional allocation/deallocation and setup process i'm still
> wondering about the latter case
>
You're benching alloc/desalloc too ... ???
It makes little sense.
> however for you, joel, there is nothing to bother since your point is
> perfectly motivated
>
Yup.
-- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk