2017-06-06 26 views

cevap

3

Standart Apple'ın armonisi OpenMP'yi destekler. Sadece sürücü seçeneğini iptal ettiler. Ama bunun yerine bu şekilde ön uç seçeneği kullanabilirsiniz: clang -Xclang -fopenmp <you_program> -I <path to omp.h> -L <path to libomp.dylib> -lomp

Ayrıca, DYLD_LIBRARY_PATH çevre değişkeni ayarlamak gerekir: export DYLD_LIBRARY_PATH=<path to libomp.dylib>

almak nasıl/libomp kurmak. include ve lib, omp.h yolu ve buna uygun olarak libomp.dylib yolu olarak kullanılmalıdır: dizin ~/libomp/openmp sonra

$ 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 

2 subdirs olacaktır. Diğer iplik bağlantısını ve bir libomp.a almalısınız şeklinde bir söz (ya da bağlantı):

büyük ölçüde bu cevabı yardımcı olacağını da Is C++ compilable with OpenMP and boost on MacOS?

+0

İki şeyler benim yanıta bakın. Daha önce önerdiğin şeyi yapmayı denedim, ancak adımlardan birini eksik (ya da yanlış bir libomp kullanıyordum). Düzenleyin: Buraya bağlantı kurun: https://stackoverflow.com/questions/47081991/is-c-compilable-with-openmp-and-boost-on-macos/47225639#47225639 –

+0

Libomp nasıl eklenir/oluşturulur –

+0

Veya oylama Cevaplar aynı ise kopya olarak kapanır. Genelde aynı cevabı birden fazla soruya yayınlamak (genellikle iş parçacığı değil, StackOverflow üzerinde iş parçacığı yoktur) üzerine çatılır. –

1

Hayır, öyle değil mi (dayanan yeni Apple LLVM olan LLVM hangi sürümünü olabileceğini soru sormak için başka bir yol). Apple LLVM kabaca 4.0'a dayanıyor, ancak OpenMP modülü dışarıda kalıyor. Boşaltma hedeflerini belirlemek için yardımda kalan bir OpenMP seçeneği bile görebilirsiniz, ancak OpenMP'yi desteklemez.

$ clang++ --help | grep openmp 
    -fopenmp-targets=<value> 

Apple, OpenMP ekleyerek bilim araştırmacılarına büyük bir nimet olurdu! Demlemek için llvm'u kullanmaya devam etmeliyim.