Boost logo

Ublas :

Subject: Re: [ublas] cublas bindings
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2010-07-27 03:03:41


Karl Rupp wrote:

>> Would this stuff help?
>>
>> http://developer.amd.com/gpu/acmlgpu/Pages/default.aspx
>>
>
> I'm certainly biased due to ViennaCL, but one should also consider that
> having two different bindings for NVIDIA and AMD/ATI is probably not
> worth the effort when the same effort is better spend in a single OpenCL
> interface (which is at least partially available with ViennaCL).
>
> Don't get my wrong, if somebody provides good bindings for NVIDIA and
> AMD/ATI libraries, that would still be a nice thing. But unlike bindings
> for host-based libraries like lapack, the additional memory allocation
> and transfer thing adds a certain amount of complexity and overhead to
> that, especially since these GPU libraries are attractive for
> performance 'only' and don't add functionality. Most BLAS level 1 and 2
> functions on GPUs may not pay off if the transfers to and from the
> device are included in performance considerations.
>
> Best regards,
> Karli

I agree.

There is preliminary support for CUBLAS in the BLAS-bindings at the moment,
but it's lacking traits support for GPU-enabled containers. In terms of the
bindings, I am looking for libraries that could provide BLAS/LAPACK-like
interfaces. Perhaps with some additional functions for memory transfer.

I think these projects are interesting to watch, as they enable LAPACK on
multicore and hybrid CPU/GPU systems:

http://icl.cs.utk.edu/plasma/
http://icl.cs.utk.edu/magma/

It seems that MAGMA is creating a BLAS, too, but unfortunately it's still
Cuda-based. I think MAGMA is a very interesting project, because I think a
hybrid solution will be the end-answer to all this CPU/GPU stuff.

Cheers,

Rutger