稀疏矩阵格式和稀疏矩阵稀疏矩阵乘法

计算科学 矩阵 稀疏矩阵 表现 布拉斯
2021-11-29 07:58:51

我的代码在处理大稀疏矩阵(刚度和空气动力学影响系数矩阵)的乘法时遇到了一些性能问题。主要是我必须在我的代码中经常将这些矩阵相乘。基本上,当然不应该乘以稀疏矩阵,而是使用矩阵向量乘法。但是,就我而言,我几乎无法阻止矩阵-矩阵乘法。

现在...我得到 CSC、CSR 和 COO 格式的稀疏矩阵作为输入。(也不明智,但我不能影响这个界面-.-)。是否有经验法则可以帮助我决定乘法中的矩阵应该以哪种格式最好地得到高性能代码?

例如,我知道英特尔的(将 CSR-matrix 与 CSC-matrix相乘),另一方面mkl_dcsrcsc却找不到(将 CSC-matrix 与 CSR-matrix 相乘)。mkl_dcsccsr因此,是否明智AB转换ACSC从 CSC 格式到 CSR 格式ACSRBCSR进入BCSC? 走很长的路并转换可能是明智的ACSCACSRBCSRBCOO(为了启用mkl_dcsrcoo)?

我怎样才能找出最适合用于矩阵的格式以及最适合用于矩阵-矩阵乘法的函数/例程?

0个回答
没有发现任何回复~