5

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.

talonmies
  • 70,661
  • 34
  • 192
  • 269
Open the way
  • 26,225
  • 51
  • 142
  • 196

2 Answers2

12

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.

talonmies
  • 70,661
  • 34
  • 192
  • 269
  • so, which other eigenvalue solvers available for GPU would you recommend? – Open the way Feb 06 '12 at 20:37
  • As I said, it depends on your matrix and exactly what it is you are trying to do. You have not provided any mathematical description of what it is you are doing, or why you wanted to use `DSPGVX` in the first place, so I can't really offer any further advice. – talonmies Feb 07 '12 at 06:26
2

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)

mfa
  • 5,017
  • 2
  • 23
  • 28