在LAPACK中,对角化有function
SUBROUTINE DSPGVX( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU,
$ IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK,
$ IFAIL, INFO )
*
我在寻找它的GPU实现。我试图找出这个函数是否已经在CUDA(或OpenCL)中实现,但只发现了CULA,它不是开源的。
因此,存在侧面CUBLAS,我想知道如何知道该子例程的BLAS或CUBLAS等价物是否可用。
答案 0 :(得分:11)
BLAS不包括特征值求解器,CUBLAS在这方面没有区别。 UTK开发的Magma库包括几个GPU加速的特征值问题例程。我不认为xSPGV已经实现,但其他几个是。根据矩阵的特性,可能会有一些东西可供使用。
答案 1 :(得分:2)
MAGMA包含源代码。仅限CUDA + CPU(现在?)
“MAGMA项目旨在开发密集的线性代数库 类似于LAPACK,但对于异构/混合架构,首先 使用当前的“多核+ GPU”系统。“
http://icl.cs.utk.edu/magma/index.html
http://web.eecs.utk.edu/~luszczek/pubs/parcocudaopencl.pdf(正在进行OpenCL的MAGMA)
编辑:当我在搜索OCL时,我偶然发现了这个库... http://viennacl.sourceforge.net/我将仔细研究一下。 (你可以通过网站的风格告诉它很好)