如果我已经在使用 CSR 或 CSC 存储技术,是否需要重新排序节点(例如使用 Reverse Cuthill-Mckee 算法)?因为由于 CSR/CSC 仅存储非零元素,我猜重新排序不会有太大优势。
(FEM) 稀疏矩阵存储技术的节点重新排序
计算科学
有限元
稀疏矩阵
2021-12-19 18:21:58
1个回答
您应该使用重新排序。尽管存储稀疏矩阵确实需要相同数量的内存,无论您是否使用 RCM 对其进行重新排序,但由于缓存的不同/更好的利用,重新排序应该会导致更快的计算(例如矩阵向量乘积)。
要记住的是,“最佳”重新排序取决于您打算对矩阵做什么。带宽减少重新排序(如 RCM)有助于 matvec,但如果你正在重新排序矩阵以进行并行分布,你应该研究最小化边缘切割/通信量的方法(如 METIS,其他),如果你正在研究稀疏直接方法,您应该考虑非结构化嵌套解剖 (METIS/SCOTCH) 或填充最小化(最小度数或近似 MD)。