首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仿真的加速大于最优。

仿真的加速大于最优。
EN

Stack Overflow用户
提问于 2019-08-26 12:54:29
回答 1查看 85关注 0票数 1

我用C++和OpenMP并行化了一个流体力学模拟。我使用英特尔的CPU,它有4个核心和8个线程来运行我的模拟。我注意到加速比比我预期的要大(见图)。

我预计使用4核CPU时使用8个线程的加速比应该小于或等于4,但加速比大于4.5。那件事怎么可能?理想曲线不是从(1,1)到(8,4)的直线吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-26 13:02:46

(8,4)是您应该看到的最小值(让我们忽略OS和其他进程)。如果您有4个核心,那么您应该能够使用所有它们,允许您处理4倍的数据。因为你有超线程,尽管你可能会做得更好。如果您的线程不是一直都很忙,那么您可以利用这个停机时间,在该核心上运行另一个线程。根据线程的繁忙程度,这可以是一个非常小的改进,也可以是一个非常大的改进。

将所有这些(8,4.5)结合在一起是一个非常可能的结果,而不高的原因是切换上下文需要时间,并且您有一个操作系统和其他运行的进程,在执行过程中还需要访问CPU。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57658303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档