英特尔 MKL 库提供了一组优化的线程化函数,但对于迭代稀疏求解器 (ISS),预处理共轭梯度法似乎并不容易被线程化。
更准确地说,使用不完全 Cholesky 分解或 ILU 等预处理技术,在某些时候需要稀疏三角求解器,但执行三角求解mkl_cspblas_?csrtrsv
的相应 MKL 函数不是线程化的。我的问题是,是否有任何稀疏求解器库可以在多核处理器上击败当前版本的 MKL(未完全线程化)?
英特尔 MKL 库提供了一组优化的线程化函数,但对于迭代稀疏求解器 (ISS),预处理共轭梯度法似乎并不容易被线程化。
更准确地说,使用不完全 Cholesky 分解或 ILU 等预处理技术,在某些时候需要稀疏三角求解器,但执行三角求解mkl_cspblas_?csrtrsv
的相应 MKL 函数不是线程化的。我的问题是,是否有任何稀疏求解器库可以在多核处理器上击败当前版本的 MKL(未完全线程化)?
我不知道它是否能胜过 MKL——毕竟这是一个研究项目——但是有一个混合模式的 PETSc 的 OpemMP+MPI 分支可用。在我的小组对 SpMV 实现的实验中,它适用于简单的矩阵,但不适用于我们经常处理的更复杂的矩阵。根据您的问题,您可能会有更好的运气。