Is OpenMP available in High Sierra LLVM?

亡梦爱人 提交于 2019-11-27 08:28:50

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 <you_program> -I <path to omp.h> -L <path to libomp.dylib> -lomp

Also, you need to set DYLD_LIBRARY_PATH environmental variable: export DYLD_LIBRARY_PATH=<path to libomp.dylib>

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?

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=<value>

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.

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