Boost logo

Boost :

Subject: Re: [boost] [xint] Boost.XInt formal review
From: Joel Falcou (joel.falcou_at_[hidden])
Date: 2011-03-03 13:51:51


On 03/03/11 19:34, Jeremy Maitin-Shepard wrote:
> This whole explicitly passing simd<T> in place of T, which seems to be
> the same thing done in nt2, in order to make use of certain
> optimizations seems like a poor interface choice. In almost all
> cases, the user logically cares about a container of T, and wants to
> work with individual elements, and the library should ensure that SIMD
> operations are used whenever possible. In particular, the design of
> the Eigen library, at least in this respect, seems more appropriate.
> Perhaps I am just misinterpreting the intended semantics of using
> simd<T>, but if it in fact it results in the logical value_type still
> being T, then the question is why you would even need to specify simd
> at all, rather than having it always be used. I also don't see how
> the optimization can be externalized in the (quite common) case of
> doing more than element-wise operations.
heeee, no. pack<T,N> is used internally by nt2. The nt2, matrix and
table interface dont require anything at this level.
nt2::table<T> DO vectorize withotu anythign special.

pack is however available as a generic sized packet with potential
simdization for people wanting to write
low level SIMD code.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk