Boost logo

Ublas :

Subject: Re: [ublas] Announcement of ViennaCL (linear algebra on GPUs)
From: Rutger ter Borg (rutger_at_[hidden])
Date: 2010-06-08 02:41:05

Karl Rupp wrote:

> Dear ublas users,
> I am proud to announce the Vienna Computing Library (ViennaCL) located
> at
> * Why is this useful to ublas users?
> First of all, ViennaCL is not intended to be a replacement of ublas - it
> should be seen as an extension. ViennaCL provides similar basic types
> (vector, matrix, compressed_matrix, coordinate_matrix), but they all
> reside on GPUs. Thus, the convenience of ublas is now - at least to some
> extent - also available on GPUs.

Awesome! Are you aware of the numeric bindings library? It contains bindings
to CUBLAS (levels 1 through 3) -- if you're looking for optimized kernels
for your NVidia card, that would be the best bet I guess.

Due to lacking containers we haven't pushed CUBLAS support into operational
status yet. AFAICT, since we know the containers reside in GPU memory, we
could allow stuff like

blas::gemv( CPU memory stuff ); // calls ATLAS / MKL / etc.
blas::gemv( GPU memory stuff ); // calls CUBLAS / etc.

I like the way you've implemented the copy operator. Does it matter what
kind of input iterator is used for copying vectors/matrices? If not, it
would be possible to do just

copy( bindings::begin(vec), bindings::end(vec), begin(gpu_vec) );

and have it work for many types of vectors.

What's the license of ViennaCL?