Boost logo

Boost :

Subject: Re: [boost] SIMD implementation of uBLAS
From: Nasos Iliopoulos (nasos_i_at_[hidden])
Date: 2013-05-29 09:00:56


Hello,
Bringing explicit SIMD into uBLAS is not in the near future plans
because as you correctly mention this is far from trivial. This has been
set as a general goal but I personally disagree that we should be
considering it at this point.

There is a GSOC project though that seeks to implement
auto-vectorization friendly BLAS 1,2 and 3 functions, so that uBLAS can
turn into a speedy BLAS drop-in replacement library. To that end I also
like the idea uBLAS being called by C and even FORTRAN programs.

We are also seeking ways of making the uBLAS expression templates more
transparent to the compiler so that auto-vectorization can kick in -
which it does in certain cases and provides a very nice performance
boost on par with explicitly vectorized libraries.

As a matter of fact I am surprised by the progress of the compilers
auto-vectorization facilities the last few years, that make me -doubt-
the need for explicit vectorization any more. The GSOC project will make
it clear for us. An added benefit on relying on compiler is that future
vector instructions come for free. A disadvantage is of course the
non-guarantee that auto-vectorization will work but I find this rarely
the case.

Best,
- Nasos

On 05/29/2013 05:34 AM, Mathias Gaunard wrote:
> On 29/05/13 06:13, Aditya Avinash wrote:
>> Hi, i have developed vector addition algorithm which exploits the
>> hardware
>> parallelism (SSE implementation).
>
> That's something trivial to do, and unfortunately even that trivial
> code is broken (it's written for a generic T but clearly does not work
> for any T beside float).
> It still has nothing to do with uBLAS.
>
> Bringing SIMD to uBLAS could be fairly difficult. Is this part of the
> GSoC projects? Who's in charge of this?
> I'd like to know what the plan is: optimize very specific operations
> with SIMD or try to provide a framework to use SIMD in expression
> templates?
>
> The former is better adressed by simply binding BLAS, the latter is
> certainly not as easy as it sounds.
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


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