Boost logo

Boost :

Subject: Re: [boost] NT2 and Boost.SIMD beta 2 available
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2013-10-23 17:54:33

On 23/10/13 21:17, Fabian Bösch wrote:
>> Boost.SIMD is heading toward API stability. We want to tackle ons ome
>> more compile time issues before going for an actual Boost Review.
> Dear Joel
> I very much like to see your NT2 and especially the SIMD support in
> Boost. It looks to me very comprehensible and almost ready to use.

Thank you for your support.

The blocking point at this stage is the compilation time.
Fixing this issue could affect the design of the library significantly,
so we'd like to work on this before we integrate the library in Boost.

> Up to
> now, I've always written the wrappers myself - of course far away from
> boost quality. What I was wondering, did you also considering a vector
> of simd::pack which can be accessed either by its simd::pack type or by
> the underlying element type? This way, you'd avoid calling the loading
> function.

There are iterator adaptors that you can use to treat a sequence of
elements as a sequence of packs.

> One other thing I was wondering: some implementations of SSE/AVX
> (particularly Intel) support additional arithmetic functions i.e. log ,
> exp which are absent in other implementations. Did you consider
> emulating these functions where absent and dispatching to the vectorized
> versions where available?

NT2 has about all the mathematical functions you can think of (C99, TR1,
and more), most of them vectorized. Exponential and trigonometric
functions are very well vectorized in particular.
They do not appear in Boost.SIMD because they're not simply wrappers of
architecture-specific intrinsics. The code for those functions is
written with Boost.SIMD but is otherwise entirely platform-agnostic.

Boost list run by bdawes at, gregod at, cpdaniel at, john at