Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BLAS equivalent of a LAPACK function for GPUs

In LAPACK there is this function for diagonalization

  SUBROUTINE DSPGVX( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU,
 $                   IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK,
 $                   IFAIL, INFO )

*

I am looking for its GPU implementation. I am trying to find whether this function has been already implemented in CUDA (or OpenCL), but have only found CULA, which is not open source.

Therefore and side CUBLAS exists, I wonder how could I know whether a BLAS or CUBLAS equivalent of this subroutine is available.

like image 402
Open the way Avatar asked Feb 06 '12 18:02

Open the way


People also ask

What is the difference between BLAS and LAPACK?

BLAS (Basic Linear Algebra Subprograms) is a library of vector, vector-vector, matrix-vector and matrix-matrix operations. LAPACK, a library of dense and banded matrix linear algebra routines such as solving linear systems, the eigenvalue- and singular value decomposition.

Does LAPACK use BLAS?

LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.


2 Answers

BLAS doesn't include eigenvalue solvers, and CUBLAS is no different in that regard. The UTK developed Magma library includes a couple of GPU accelerated eigenvalue problem routines. I don't think xSPGV is implemented, but several other are. Depending on the characteristics of your matrix have, there might be something you could use.

like image 138
talonmies Avatar answered Oct 12 '22 23:10

talonmies


MAGMA includes source code. CUDA + CPU only (for now?)

"The MAGMA project aims to develop a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current "Multicore+GPU" systems."

http://icl.cs.utk.edu/magma/index.html

http://web.eecs.utk.edu/~luszczek/pubs/parcocudaopencl.pdf (MAGMA for OpenCL is underway)

EDIT: I stumbled upon this library when I was searching for OCL stuff... http://viennacl.sourceforge.net/ I'm going to give it a closer look. (You can kinda tell it's good by the style of the site)

like image 29
mfa Avatar answered Oct 12 '22 23:10

mfa