Oracle Solaris Studio 12.2: C ユーザーガイド

3.2 OpenMP に対する並列化

C コンパイラは、共有メモリーの並列化に OpenMP API をネイティブで受け入れます。この API は、一連の並列化プラグマで構成されます。OpenMP API の仕様の情報は、OpenMP Web サイト (http://www.openmp.org/) にあります。

コンパイラの OpenMP サポートと OpenMP プラグマの認識を有効にするには、-xopenmp オプションを使用してコンパイルします。-xopenmp を使用しないと、コンパイラは OpenMP プラグマをコメントとして扱います。「B.2.123 -xopenmp[= i]」を参照してください。

詳細は、『Solaris Studio OpenMP API ユーザーズガイド』を参照してください。

3.2.1 OpenMP の実行時の警告の処理

OpenMP 実行時システムは、軽度のエラーに対し警告を発行できます。次の関数を使用すると、それらの警告を処理するコールバック関数を登録できます。

int sunw_mp_register_warn(void (*func) (void *) )

この関数のプロトタイプにアクセスするには、<sunw_mp_misc.h> に対する #include プリプロセッサ指令を発行します。

関数を登録したくない場合、環境変数 SUNW_MP_WARNTRUE に設定すると、警告メッセージが stderr に送られます。SUNW_MP_WARN の詳細については、「3.3.3 SUNW_MP_WARN を参照してください。

この実装の OpenMP に固有の情報については、『Solaris Studio OpenMP API ユーザーズガイド』を参照してください。