2017-06-06 19 views

答えて

3

標準AppleのclangはOpenMPをサポートしています。彼らはドライバオプションを無効にしました。しかし、あなたは代わりにこの方法をフロントエンドオプションを使用することができます。clang -Xclang -fopenmp <you_program> -I <path to omp.h> -L <path to libomp.dylib> -lomp

はまた、あなたがDYLD_LIBRARY_PATH環境変数を設定する必要があります。export DYLD_LIBRARY_PATH=<path to libomp.dylib>

取得する方法/ libompを構築します。 omp.hへのパスと対応libomp.dylibへのパスとして使用されるべき、includelib:このディレクトリ~/libomp/openmp

$ 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サブディレクトリを有することになります。他のスレッドへのリンク、および1つはlibomp.aを取得する必要があります方法に言及(またはリンク):

が大幅にこの答えを助けるもIs C++ compilable with OpenMP and boost on MacOS?

+0

2つのことに私の答えを参照してください。私は前に提案したことをやろうとしましたが、ステップの1つが欠けていた(または間違ったlibompを使用していました)。編集:ここにリンク:https://stackoverflow.com/questions/47081991/is-c-compilable-with-openmp-and-boost-on-macos/47225639#47225639 –

+0

libompの入手/ビルドの方法が追加されました –

+0

または投票回答が同一であれば重複として閉じる。一般的に、複数の質問(スレッドではなく、StackOverflow上にスレッドがない)に同じ回答を投稿するのは面倒です。 –

1

いや、それはないです(に基づく新しいApple LLVMでLLVMのバージョンであるかもしれない質問をする別の方法)。 Apple LLVMはおおよそ4.0に基づいていますが、OpenMPモジュールは除外されています。オフロードターゲットを設定するためのヘルプに残りのOpenMPオプションが表示されることもありますが、OpenMPはサポートされていません。

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

AppleがOpenMPを追加することは、科学研究者に大きな恩恵をもたらすだろう!醸造からllvmを引き続き使用する必要があります。

関連する問題