【发布时间】:2023-12-19 09:08:02
【问题描述】:
当我增加一个令人尴尬的并行线性问题的核心数量时(一个 for 循环,其中每次迭代进行大量计算,都独立于其他迭代),效率降低(效率为 Ts/(p*Tp) )以某种方式与核心数量呈线性关系
我知道在实践中线程调度、操作系统和缓存问题会大大减慢实现速度。
我可以补充一点,我确实得到了加速,理论上的问题是线性加速,理论上 随着 p 的增加,效率为 1。
那么问题:随着处理器数量的增加,操作系统、线程调度、内存访问和其他类型的技术限制如何影响算法的效率????会不会有影响?
【问题讨论】:
-
无法回答,因为这取决于问题和实现。 “可接受”对我来说似乎是主观的。
-
添加了更多信息,希望可以回答这个问题
-
不行,还是太笼统了。
-
我可以看到变化;请参阅下面的答案。
标签: c performance parallel-processing openmp