Boost logo

Boost :

Subject: Re: [boost] [GSOC]SIMD Library
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2011-03-29 07:41:23


On 29/03/2011 13:16, Faiçal Tchirou wrote:
>
> Hi everyone,
> I recently ask documentation about the SIMD Library project here and I receive some guides and references links from Joel Falcou. Now I have some questions about the library itself. Is the goal of the project to build a library similar to libSIMDx86 but more focusing on the AltiVec instruction set ?

No. The library that will become Boost.SIMD already exists outside of
Boost, as part of the NT2 project.
It already has support for SSE and AVX, and basic support for AltiVec
that needs to be improved.

> Joel also advises me to take a look at Proto. I read that Proto is used to build DSEL. Will Proto be used to map high level classes and methods of the library to native SIMD instructions ? What about the library itself ?

Proto is used to map combinations of operators or functions to specific
SIMD-optimized functions.

Examples a*b+c -> fma(a, b, c)
          a+b*c -> fam(a, b, c)
          a & ~b -> bitwise_andnot(a, b)
          ~a & b -> bitwise_notand(a, b)
etc.

(this particular list has special SIMD instructions on SSE and/or AltiVec).

> Which modules have to be developped ?

Various things are possible:
  - work on AltiVec support
  - work on NEON support
  - work on saturated arithmetic functions
  - work on documentation
  - work on tests
  - work on benchmarks
  - work on boostification
  - work on other things I can't think of right now

Pick what you want and make it into a project proposal.


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