0

我需要解决一大组(独立的)Ax = b线性问题。这不能并行化(或者更具体地说,这是每个处理器的责任)。

Ax = b集合很小(最多说 10x10)但很密集(通常所有项都不为零),并且 A 矩阵和 RHS 向量都是完全不同且独立的。

使用 PETSc 解决大量小 Ax=b 问题的最有效/实用的方法是什么?

即,始终修改单个A矩阵和单个b向量并为每个系统求解的成本是多少?

4

3 回答 3

0

如果您一次拥有所有矩阵,则可以用它们制作一个大的块对角矩阵,这将是有效的(矢量化等)。

于 2021-03-02T22:49:03.727 回答
0

在考虑了所有选项之后,PETSc 在处理这种情况时效率不高,因为需要一直用不同的值重建/重新填充矩阵,最终导致内存成本相对较高。我最终把 PETSc 放在一边。

于 2018-03-04T21:53:48.503 回答
0

既然你的A很小,为什么不尝试直接的方法来解决它。SuperLU MT 版本或 SuperLU 串行版本。

于 2018-03-30T09:51:14.807 回答