openmp如何设置线程数

xunyi001 2012-01-12 09:22:12
我写了个openmp的代码。开始没有设置任何核数的东西,在二核的系统运行正常,cpu利用率几乎达到100%。但我这样修改后,运行速度变慢了三分之一,CPU利用率也大大降低,核数改成四的话,就更加慢了。求解答,如何设置才能在四核系统上面正常运行。

const int NUM_THREAD = 2;
#pragma omp parallel shared(m_table)private(temp_index) num_threads(NUM_THREAD)
...全文
3651 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
immensewaves 2013-10-09
  • 打赏
  • 举报
回复
首先应该确定你的机器的实际核数,根据你所说,形如没有设置线程数,则系统默认为实际的处理器核数为具体的线程数,所以CPU利用率很高,当你修改线程数后,因为和实际的核数不匹配,所以可以引入了额外的调度等开销所以运行速度变慢!最好将线程数设置成处理器支持的硬件线程数,这样才能更好的匹配!

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧