GPU的稀疏Cholesky分解算法

Jon*_*rlo 9 algorithm math cuda gpgpu opencl

谁能为我提供一个并行算法来计算稀疏Cholesky分解?它必须适合在GPU上执行.我们非常感谢CUDA,OpenCL甚至伪代码中的任何答案.

tal*_*ies 9

一般来说,直接稀疏方法不适合GPU.虽然最好的直接求解器(考虑像CHOLMOD,SuperLU,MUMPS这样的包)使用策略来生成可以使用L3 BLAS处理的密集子块,但块的大小和形状不会因使用GPU BLAS而受益加速.这并不意味着它无法完成,只是性能改进可能不值得付出努力.

看到你在询问稀疏的Cholesky分解,我假设矩阵是对称的正定.在这种情况下,您可以考虑使用迭代求解器 - 有许多良好的Conjugate Gradient和其他Krylov子空间方法的实现,这些方法可以使用简单的预处理器.如果您的问题适合迭代方法,CUDA 的Cusp库可能值得研究.如果您正在寻找OpenCL ,ViennaCL库提供类似的东西.