<分区>
谁能为我提供计算稀疏 Cholesky 分解的并行算法?它必须适合在 GPU 上执行。非常感谢 CUDA、OpenCL 甚至伪代码中的任何答案。
<分区>
谁能为我提供计算稀疏 Cholesky 分解的并行算法?它必须适合在 GPU 上执行。非常感谢 CUDA、OpenCL 甚至伪代码中的任何答案。
最佳答案
一般来说,直接稀疏方法不太适合 GPU。虽然最好的直接求解器(在这里考虑像 CHOLMOD、SuperLU、MUMPS 这样的包)使用策略生成可以使用 L3 BLAS 处理的密集子 block ,但 block 的大小和形状往往不会从使用 GPU BLAS 中获益为加速。这并不意味着它不能完成,只是性能改进可能不值得付出努力。
鉴于您询问的是稀疏 Cholesky 分解,我假设矩阵是对称正定矩阵。在这种情况下,您可能会考虑使用迭代求解器——共轭梯度和其他 Krylov 子空间方法有许多很好的实现,带有简单的预条件器,可能会有一些用处。 Cusp如果您的问题适用于迭代方法,CUDA 库可能值得研究。 ViennaCL如果您正在寻找 OpenCL,库会提供类似的东西。
关于algorithm - GPU 的稀疏 Cholesky 分解算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123101/