的Xcode 4.5和OpenMP与锵(苹果LLVM)仅使用一个核心(Xcode 4.5 and O

2019-08-03 13:15发布

我们对在这里我们使用OpenMP的加快我们计算的C ++ 11的项目中使用的Xcode 4.5:

#pragma omp parallel for
for (uint x=1; x<grid.width()-1; ++x) {
    for (uint y=1; y<grid.height()-1; ++y) {
         // code
    }
}

虽然活动监视器显示多个线程正在使用我们观察到仅一个芯被用于该程序:

我们还运行使用GCC 4.7在Ubuntu相同的代码,我们观察到的所有内核争用。 难道说OpenMP的支持已经在苹果LLVM被删除? 是否有OpenMP的选择吗? 由于我们使用C ++ 11层的功能,我们不能切换到GCC。

Answer 1:

还不支持OpenMP的(它已不被删除-它从来没有摆在首位存在)。 你可以使用苹果的大中央调度(GCD)任务系统或者你可以使用英特尔线程构建模块 (TBB)来代替。



文章来源: Xcode 4.5 and OpenMP with Clang (Apple LLVM) uses only one core