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
}
}
アクティビティ モニターには、プログラムによって複数のスレッドが使用されていることが示されますが、使用されているコアは 1 つだけであることがわかりました。
また、GCC 4.7 を使用して Ubuntu で同じコードを実行したところ、すべてのコアで競合が発生しました。Apple LLVM で OpenMP サポートが削除された可能性はありますか? OpenMP に代わるものはありますか? C++11 の機能を使用しているため、GCC に切り替えることはできません。