Boost logo

Boost :

Subject: Re: [boost] [GSOC]SIMD Library
From: Joel Falcou (joel.falcou_at_[hidden])
Date: 2011-03-29 11:23:25


On 29/03/11 16:14, Domagoj Saric wrote:
> That's great too...actually I'd rather have it this way than only the
> higher level vector functions as usually found in other libraries
> (especially if you cannot not have them, such as with the OS X
> Accelerate framework, plus it can prove to be more future proof...i.e.
> Apple updates it for new architectures and targets like iPad2, Intel
> AVX...)...

We have everything up to AVX

> OTOH also providing a higher level interface (as Boost.Range and/or
> Boost.Math algorithm overloads or something similar) top of the lower
> level one afterwards would be great...

we plan on looking at making some simd_range so you cna pass them to
boost:;range::some_algo too. Def. a work for GSoC

> While staying at the lowest possible level yes, I agree. As soon as we
> depart from the 'metal' however, the amount of boilerplate increases and
> (mentioned) libraries can become useful...
> I'm not saying this is critical rather nice to have...

We have such boilerplate somehow, we can discuss what's make and doesn't
make it.

> Hmm...well yes, if it is going to be called Boost.SIMD than it probably
> should be restricted to the low 'hardware abstraction' level...The
> higher level vector and math functions could than be provided through/by
> Boost.Range, Boost.Math, Boost.uBLAS...
> I would certainly like to have both layers in Boost...

My idea was have Boost.SIMD as an infrastructure library for other
higher level one to work upon

> Could you perhaps help me with a few pointers on how to use/test NT2
> (e.g. performing sincos on a 1D vector)?
> I checked out the latest revision from SVN, and downloaded the
> documentation for the official version 2 but it is in French which I
> unfortunately do not understand. The examples for version 2 that contain
> the cos() function also do not work as they mention a nonexistent
> eve.hpp header...

We have to close the SF account. Everythign is in github atm ;)
Docs are lackign so you may fidn it dense to use. Some basic doc and
examples will be uploaded soon.

> ps. does NT2 support SSE1 for single precision floats? Unfortunately
> this is a must for me (and probably for a lot of people as there are
> quite a few Athlon XP's around) so I cannot use SSE2+ only libraries
> like Eigen...

Eigen only support double ? Wow, ell for SSEx we have function for all
integers, double and float.

> pps. if you are considering MKL you should probably also consider free
> alternatives like AMD's ACML and Apple's Accelerate framework...

Something to look for the benchmarks yup.


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