OpenMP のディレクティブを使用して明示的に並列化を有効にするには、cc、CC、または f95 のコンパイラオプション -xopenmp を指定してプログラムをコンパイルします。f95 コンパイラでは、-xopenmp と -openmp を同義語として使用できます。
-xopenmp フラグは、次の表にあるキーワードサブオプションを受け入れます。
|
コマンド行で -xopenmp を指定しない場合、コンパイラではデフォルトで –xopenmp=none (OpenMP ディレクティブの認識を無効にする) を指定したと見なされます。
-xopenmp をキーワードサブオプションなしで指定した場合、コンパイラでは –xopenmp=parallel を指定したと見なされます。
-xopenmp=parallel または -xopenmp=noopt を指定すると、C/C++ では _OPENMP マクロに 10 進値の 201307L が定義され、Fortran では 201307 が定義されます。ここで、2013 は年であり、07 は OpenMP 4.0 仕様の月です。
dbx を使用して OpenMP プログラムをデバッグする場合は、-xopenmp=noopt -g を指定してコンパイルし、完全なデバッグ機能を有効にします。
コンパイルで警告メッセージが出力されないようにするには、変更される可能性があるデフォルト値に依存するのではなく、適切な最適化レベルを明示的に指定します。
Fortran の場合、-xopenmp、-xopenmp=parallel、または -xopenmp=noopt を指定してコンパイルすることは、-stackvar を意味します。スタックとスタックサイズを参照してください。
別々の手順で OpenMP プログラムをコンパイルしてリンクする場合は、コンパイル時およびリンク時にそれぞれ -xopenmp を含めます。
OpenMP プログラミングの潜在的な問題に関するコンパイラの警告を表示するには、-xvpara オプションを -xopenmp オプションとともに使用します (Chapter 7, スコープチェックを参照)。