在最多 8 个内核上使用什么算法进行并行密集矩阵求逆?

计算科学 线性代数 算法 并行计算
2021-12-08 11:32:21

我需要为我正在使用的一种语言实现并行密集矩阵求逆,该语言似乎没有为此的现有库(特别是使用 IDL Bridge 进行消息传递的 IDL)。我通过在 C++ 中使用 MPI 的经验熟悉并行编程方法,但主要用于并行 FFT 和 N 体方法。我对线性代数的串行或并行计算方法几乎没有经验或知识。

我正在寻找的是一个健壮、稳定的并行矩阵求逆算法的清晰伪代码描述,该算法适用于少数内核,因为运行(当前串行)IDL 任务的机器有 8 个内核。在实践中,我可能只使用 4 个内核来保持内核空闲用于其他任务。

如果这项任务有一系列众所周知的算法,我更倾向于简单而不是前沿性能。

1个回答

我建议您不要自己动手,而是看看现有的健壮且高效的并行实现,例如PLASMA

如果您只是在寻找自己实现的算法,那么大多数例程都在该站点的“文档”部分中记录得过多。