我有一个专有的库(> 150,000行)量子力学C ++代码,它依赖于OpenMP进行并行化。此代码用于使用Xcode 4.6及其“真实 GCC编译器进行编译,但Xcode 5附带的LLVM编译器似乎不支持OpenMP。我的代码是在Mac上开发的,但需要可移植到非Apple硬件,如大规模并行超级计算机,因此重写代码不是一种选择。有谁知道可以使用合适的编译器?非常感谢您的帮助。
答案 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。这些步骤基本上是:
brew install llvm
安装llvm。CC
”和“ /usr/local/opt/llvm/bin/clang
”的值依次选择“构建设置”和“编辑器”»“添加构建设置”»“添加用户定义的设置”。/usr/local/opt/llvm/lib
添加到“库搜索路径”。/usr/local/opt/llvm/lib/clang/7.0.1/include
添加到“标题搜索路径”。 (版本号可能会因您的安装而异。)-fopenmp
编译标志添加到“其他C标志”。/usr/local/opt/llvm/lib/libiomp5.dylib
添加到“构建阶段”»“将二进制文件与库链接”。