使用 OpenCL 的稀疏广义特征求解器

计算科学 特征值 开放式
2021-12-16 18:12:17

我想解决实际稀疏对称矩阵的广义特征问题。是否有一个有效的库利用 OpenCL 来找到数量有限的最小特征值?

1个回答

一种可能性是使用 ARPACK 和 ViennaCL 的组合:

  • ARPACK 是一个特征求解器。它与回调接口一起使用(您提供一个计算Ax对于给定的x它通过多次调用此函数来计算特征值)。如果要解决广义特征值问题(Ax=λBx) 你需要为计算提供回调xBx也是。
  • 这些回调函数可以在 GPU 中实现(它将与 ARPACK 一起使用),现在实现它的方式将取决于矩阵的结构AB. 如果您的矩阵是满的、对角的或稀疏的,您将使用不同的实现。ViennaCL 为不同的矩阵结构提出了几个函数。

http://www.caam.rice.edu/software/ARPACK/

http://viennacl.sourceforge.net/

除了 ARPACK,同样的方法可以应用于任何具有反向通信 API(即,具有计算矩阵向量积的回调)的特征求解器,例如 SLEPc(参见下面 Daniel Shapero 的评论)。