Xcode 5及更高版本中的OpenMP支持

时间:2013-10-06 11:18:18

标签: xcode openmp

我有一个专有的库(> 150,000行)量子力学C ++代码,它依赖于OpenMP进行并行化。此代码用于使用Xcode 4.6及其“真实 GCC编译器进行编译,但Xcode 5附带的LLVM编译器似乎不支持OpenMP。我的代码是在Mac上开发的,但需要可移植到非Apple硬件,如大规模并行超级计算机,因此重写代码不是一种选择。有谁知道可以使用合适的编译器?非常感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

当我测试hpc.sourceforge.net时,我从评论中回来,它对我来说就像一个魅力。

根据解释简单解压缩档案:

sudo tar -xvf gcc-4.8-bin.tar -C /

如果需要,更新.profile以默认使用hpc编译的gcc版本。

使用选项-fopenmp编译程序,然后将其与选项-lgomp链接。

答案 1 :(得分:1)

“有没有人知道可以使用的合适的编译器?”

MacOS上的英特尔编译器支持OpenMP,就像在其他平台上一样。 http://software.intel.com/en-us/intel-software-development-products-for-mac-os-x

当然,他们花钱,但他们可能是值得的。

(完全披露:我在编译器使用的OpenMP运行时为英特尔工作)

答案 2 :(得分:0)

请参见Clang + OpenMP Setup in Xcode。这些步骤基本上是:

  1. 安装Homebrew
  2. 使用brew install llvm安装llvm。
  3. 依次用“ CC”和“ /usr/local/opt/llvm/bin/clang”的值依次选择“构建设置”和“编辑器”»“添加构建设置”»“添加用户定义的设置”。
  4. 搜索“启用模块”并将其关闭。
  5. /usr/local/opt/llvm/lib添加到“库搜索路径”。
  6. /usr/local/opt/llvm/lib/clang/7.0.1/include添加到“标题搜索路径”。 (版本号可能会因您的安装而异。)
  7. -fopenmp编译标志添加到“其他C标志”。
  8. 关闭“启用索引构建功能”。
  9. /usr/local/opt/llvm/lib/libiomp5.dylib添加到“构建阶段”»“将二进制文件与库链接”。