根据这些讲义,棋盘式块分解在应用于并行矩阵向量乘法时应该表现出更好的可扩展性(大概是因为更高的缓存命中率)。由于共轭梯度法也使用矩阵向量乘法,我认为这种形式的块分解即使不是标准的也很常见。但是,当我查看 PETSc 之类的软件时,似乎行或列条纹块分解更常见。对于并行共轭梯度方法(也许除了易于编码),矩阵的行或列条纹块分解比棋盘对应物有什么优势吗?
在使用并行共轭梯度法求解线性系统时,矩阵的棋盘式块分解是否有用?
计算科学
线性代数
并行计算
共轭梯度
矩阵
块分解
2021-11-30 04:31:24
1个回答
这些讲义适用于稠密矩阵。像 CG 这样的 Krylov 方法最常用于稀疏矩阵。PETSc 最常用的矩阵格式也适用于稀疏矩阵。假设一个良好的排序,稀疏矩阵往往具有良好的局部性,因为“对角块”(将向量的拥有部分与向量的拥有部分相关联)中的条目比“非对角块”中的条目多得多。 . 在这些情况下,块行(或列)分区是实用的并且接近最优。
对于密集矩阵,使用矩阵的块或元素循环分布具有通信优势。ScaLAPACK 使用块循环分布。Jack Poulson 的Elemental 库(参见本文和其中的参考资料)展示了元素循环分布的优势。
其它你可能感兴趣的问题