OpenMP* の SIMD コンパイルを有効/無効にします。
Linux*: | -qopenmp-simd -qno-openmp-simd |
Windows*: | /Qopenmp-simd /Qopenmp-simd- |
なし
-qno-openmp-simd または /Qopenmp-simd- |
OpenMP* の SIMD コンパイルは無効です。 |
このオプションは、OpenMP* の SIMD コンパイルを有効/無効にします。
ほかの OpenMP* 機能に影響を与えることなく、SIMD サポートを有効/無効にする場合、このオプションを使用します。この場合、OpenMP* ランタイム・ライブラリーのリンクは不要で、コンパイラーは OpenMP* ランタイムの初期化コードを生成する必要はありません。
このオプションと [q または Q]openmp を一緒に指定すると、ほかの OpenMP* 機能に影響します。
-qopenmp-simd は -fiopenmp-simd と同等であり、/Qopenmp-simd は /Qiopenmp-simd と同等です。
LLVM コミュニティーで実装されている OpenMP* を使用したい上級者は、-fopenmp または -fopenmp-simd オプションを指定することで、その機能のほとんどを利用することができます。
Linux*: -fiopenmp-simd
Windows*: /Qiopenmp-simd
次の例について考えてみます。
-qno-openmp -qopenmp-simd ! Linux* /Qopenmp- /Qopenmp-simd ! Windows*
上記は、[q または Q]openmp-simd のみを指定する場合と同じです。この場合、SIMD サポートのみ提供され、OpenMP* ライブラリーはリンクされず、SIMD に関連する !$OMP ディレクティブのみ処理されます。
次の例について考えてみます。
-qopenmp -qopenmp-simd ! Linux* /Qopenmp /Qopenmp-simd ! Windows*
この場合、SIMD サポートが提供され、OpenMP* ライブラリーがリンクされ、OpenMP* ランタイムの初期化コードが生成されます。[q または Q]openmp を指定すると、[q または Q]openmp-simd が有効になります。