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

问题描述 投票:6回答:3

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

xcode openmp
3个回答
2
投票

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

如上所述,只需解压缩档案:

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

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

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


1
投票

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

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

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

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


0
投票

Clang + OpenMP Setup in Xcode。步骤基本上是:

  1. 安装Homebrew
  2. brew install llvm安装llvm。
  3. 使用CC的键和/usr/local/opt/llvm/bin/clang的值“Build Settings”然后“Editor”»“Add Build Setting”»“Add User Defined Setting”。
  4. 搜索“启用模块”并将其关闭。
  5. /usr/local/opt/llvm/lib添加到“Library Search Paths”。
  6. /usr/local/opt/llvm/lib/clang/7.0.1/include添加到“标题搜索路径”。 (版本号可能因安装而异。)
  7. -fopenmp编译标志添加到“其他C标志”。
  8. 关闭“启用索引 - 建筑功能”。
  9. /usr/local/opt/llvm/lib/libiomp5.dylib添加到“Build Phases”»“Link Binary with Libraries”。
© www.soinside.com 2019 - 2024. All rights reserved.