我想在算法的每次迭代中求解10个线性系统(Ax = b)。
每个系统的A约为10 x 11(超定)。
CPU具有8个核心。
如果我要求每个CPU解决10个线性系统之一,则6个cpu必须等待最后2个系统的解决。
如果我使用多线程求解器一个一个地解决每个系统,性能会很差吗?由于矩阵A很小,我担心虚假共享。
Eigen是否有针对这种情况的多线程求解器?
再次感谢。
答案 0 :(得分:2)
尝试在如此小的问题(10 x 11
)中利用多线程只会减慢速度。如果您想比并行运行10个解决方案做得更好,请尝试在管道中查找更多并行任务。