Is OpenMP available in High Sierra LLVM?

匿名 (未验证) 提交于 2019-12-03 01:27:01

问题:

In the default LLVM provided by Apple in macOS 10.13, High Sierra, is OpenMP finally available? It has been available in main LLVM for more than a year now.

(another way to ask the question might be what version of LLVM is the new Apple LLVM based on)

回答1:

Standard Apple's clang supports OpenMP. They just disabled the driver option. But you can use the frontend option instead this way: clang -Xclang -fopenmp -I -L -lomp

Also, you need to set DYLD_LIBRARY_PATH environmental variable: export DYLD_LIBRARY_PATH=

How to get/build libomp.

$ cd $ svn co http://llvm.org/svn/llvm-project/openmp/trunk libomp $ cd libomp $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=~/libomp/openmp $ make && make install

After this directory ~/libomp/openmp will have 2 subdirs: include and lib, which should be used as the path to omp.h and the path to libomp.dylib correspondingly.

See also my answer to Is C++ compilable with OpenMP and boost on MacOS?



回答2:

No, it is not (officially). The Apple LLVM is roughly based on 4.0, but the OpenMP module is left out. You can even see a remaining OpenMP option in the help to set offloading targets, but it does not support OpenMP.

$ clang++ --help | grep openmp   -fopenmp-targets=

Apple, adding OpenMP would be a huge boon to science researchers!

Note: Brew has support for building the OpenMP library! Use:

brew install libomp

A patch has been accepted into CMake that will allow users to get the correct compile and linking line OpenMP in CMake 3.12 if they use the targets system.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!