Re: [eigen] BLAS backend

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]




On Thu, Oct 15, 2009 at 5:17 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
2009/10/15 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>:
> Also note how the matrix copies between the CPU and GPU are extremely
> costly... So, now if we agree that a BLAS backend is only worth it to get
> GPU support

There are other use cases:
 - parallelized on several cpus/cores

well, I hope we'll have multithreading in Eigen soon... Actually, doing it the BLAS way is nearly trivial. The main reason why we still don't have multithreading is because we want to do something smarter providing more control to the user, blabla...
 
 - lapack backend can be interesting even on 1 cpu core.

sure we are not on pair with LAPACK yet.
 
 
> we can think about a smarter approach allowing to keep the data
> on the GPU as much as possible, and this in a transparent manner for the
> user.

Great, if it's transparent to the user, I guess it can be enabled only
when appropriate (or in the worst case by asking the user to define a
preprocessor symbol). Sounds nice!

Benoit

> I have a couple of idea about that (and other related stuff) that I'm
> going to present next week during an internal GPU workshop to people of my
> research center. My hope is that people working on parallel computing will
> be interested to build a small collaboration around that. We'll see.
>
> cheers,
> gael.
>
>
>
> On Thu, Oct 15, 2009 at 3:22 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> Hello,
>>
>> This is very interesting and is in our TODO,
>> http://eigen.tuxfamily.org/index.php?title=Todo
>>
>> But work on this hasn't started yet. It shouldn't be hard. For
>> example, if you want to use BLAS GEMM,
>> you could just plug that in the file
>> Eigen/src/Core/products/GeneralMatrixMatrix.h, in the function
>> GeneralProduct<Lhs, Rhs, GemmProduct>::scaleAndAddTo(), at line 144 in
>> the development branch. Note the little cooking there to get the
>> "actual" lhs, rhs, alpha.
>>
>> Benoit
>>
>> 2009/10/15 Jean Sreng <jean.sreng@xxxxxx>:
>> > Hello, we are currently investigating the use of Eigen2 in our software
>> > (VR simulations) and we were wondering about BLAS (and LAPACK) backends.
>> > Does the newer (development) version of Eigen provide such backend ?
>> > Otherwise, how difficult would it be to implement such backend
>> > (partially in a first step, for instance to use BLAS GEMM or
>> > tridiagonalisation ?) ? Do you have any thoughts about using this
>> > backend with GPU-optimized versions of BLAS (CUBLAS ?) ?
>> >
>> > Thanks !
>> >
>> > --
>> > Jean
>> >
>> >
>> >
>> >
>>
>





--
Gaël Guennebaud
Iparla - INRIA Bordeaux
(+33)5 40 00 37 95


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/