并行求解多个小型线性系统
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 个问题做得更好,请尝试在您的管道中找到更多并行任务。
我想在算法的每次迭代中求解 10 个线性系统 (Ax = b)。
每个系统的A约为10 x 11(超定)。
Cpu 有 8 个核心。
如果我要求每个 CPU 解决 10 个线性系统中的一个,则 6 cpu 必须等待解决最后 2 个系统。
如果我用多线程求解器一个一个地求解每个系统,性能会不会很差?我担心错误共享,因为矩阵 A 很小。
Eigen 是否有针对这种情况的多线程求解器?
再次感谢。
尝试在如此小的问题 (10 x 11
) 中利用多线程只会减慢速度。如果您想比 运行 并行解决 10 个问题做得更好,请尝试在您的管道中找到更多并行任务。