并行求解多个小型线性系统

Solve multiple small linear systems parallelly

我想在算法的每次迭代中求解 10 个线性系统 (Ax = b)。

每个系统的A约为10 x 11(超定)。

Cpu 有 8 个核心。

如果我要求每个 CPU 解决 10 个线性系统中的一个,则 6 cpu 必须等待解决最后 2 个系统。

如果我用多线程求解器一个一个地求解每个系统,性能会不会很差?我担心错误共享,因为矩阵 A 很小。

Eigen 是否有针对这种情况的多线程求解器?

再次感谢。

尝试在如此小的问题 (10 x 11) 中利用多线程只会减慢速度。如果您想比 运行 并行解决 10 个问题做得更好,请尝试在您的管道中找到更多并行任务。