BLAS equivalent of a LAPACK function for GPUs

半城伤御伤魂 提交于 2021-02-07 15:17:26

问题


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.


回答1:


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.




回答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)



来源:https://stackoverflow.com/questions/9165299/blas-equivalent-of-a-lapack-function-for-gpus

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!