↑ arvau

Stack Overflow / 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.

Stack Overflow / BLAS equivalent of a LAPACK function for GPUs

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)

Stack Overflow / BLAS equivalent of a LAPACK function for GPUs

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.