首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >单核OpenMP

单核OpenMP
EN

Stack Overflow用户
提问于 2012-11-05 07:57:38
回答 2查看 1.4K关注 0票数 2

我可以在单核cpu的机器上使用OpenMP吗?性能会有一些提升吗?

EN

回答 2

Stack Overflow用户

发布于 2012-11-08 07:05:04

可以,停那儿吧。您可以使用OpenMP指令注释代码,但仍然可以按顺序运行应用程序。为此,您必须在没有OpenMP标志(e.g., -fopenmp)的情况下编译和运行应用程序。

例如,您可以在单核上使用OpenMP,但仍然可以通过在带有超线程的单核CPU中运行多线程程序来提高性能。

有一些内存受限的算法可以利用超线程,因为在执行期间,一些线程仍将等待内存被获取,而其他线程将进行计算。在极少数情况下,超线程带来的收益可以来自分支预测的改进。

然而,由于OpenMP指令固有的开销,使用具有单核的OpenMP通常会减慢应用程序的运行速度,即使使用单线程也是如此。此外,线程也在“争夺”相同的资源。

票数 2
EN

Stack Overflow用户

发布于 2018-02-13 02:13:00

当一个程序同时有I/O限制和CPU限制时,你可能会获得一个优势。portions...if线程“1”是I/O限制的,那么线程“2”可以做它的CPU限制的事情。如果程序在其执行的部分中占用大量的I/O,这一点就会变得更加明显

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

https://stackoverflow.com/questions/13224269

复制
相关文章

相似问题

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