JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: OpenMP API ユーザーガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  OpenMP API について

2.  OpenMP プログラムのコンパイルと実行

2.1 コンパイラオプション

2.2 OpenMP 環境変数

2.2.1 OpenMP 環境変数のデフォルト

2.2.2 Oracle Solaris Studio の環境変数

2.2.2.1 PARALLEL

2.2.2.2 SUNW_MP_WARN

2.2.2.3 SUNW_MP_THR_IDLE

2.2.2.4 SUNW_MP_PROCBIND

2.2.2.5 SUNW_MP_MAX_POOL_THREADS

2.2.2.6 SUNW_MP_MAX_NESTED_LEVELS

2.2.2.7 STACKSIZE

2.2.2.8 SUNW_MP_GUIDED_WEIGHT

2.2.2.9 SUNW_MP_WAIT_POLICY

2.3 プロセッサ結合

2.3.1 仮想および論理プロセッサ ID

2.3.2 SUNW_MP_PROCBIND に指定された値の解釈

2.3.3 OS プロセッサセットとの相互作用

2.4 スタックとスタックサイズ

2.5 OpenMP プログラムの確認と分析

3.  実装によって定義される動作

4.  入れ子並列処理

5.  タスク化

6.  変数の自動スコープ宣言

7.  スコープチェック

8.  パフォーマンス上の検討事項

A.  指令での節の記述

索引

2.1 コンパイラオプション

OpenMP の指令を使用して明示的に並列化を有効にするには、ccCC、または f95 のオプションフラグ -xopenmp を指定してプログラムをコンパイルします。f95 コンパイラでは、-xopenmp-openmp を同義語として使用することができます。

-xopenmp フラグには、次のキーワードサブオプションを指定することができます。

-xopenmp=parallel
OpenMP プラグマの認識を有効にします。

-xopenmp=parallel の最小限の最適化レベルは -xO3 です。

コンパイラは、必要に応じて最適化のレベルを低いレベルから -xO3 に上げ、警告を出力します。

-xopenmp=noopt
OpenMP プラグマの認識を有効にします。

最適化のレベルが -xO3 より低い場合でも、コンパイラは最適化のレベルを上げません。

-xO2 -openmp=noopt のように、最適化レベルを明示的に -xO3 よりも下げると、コンパイラはエラーを出力します。

-openmp=noopt で最適化レベルを指定しなかった場合、OpenMP プラグマが認識され、その結果プログラムが並列化されますが、最適化は行われません。

-xopenmp=stubs
このオプションはサポートされていません。

OpenMP スタブライブラリは、ユーザーの便宜上の理由で提供されています。

OpenMP ライブラリルーチンを呼び出しても OpenMP プラグマを無視するような OpenMP プログラムをコンパイルするには、-xopenmp オプションを指定しないでコンパイルします。その後、libompstubs.a ライブラリを使ってオブジェクトファイルをリンクします。

次に例を示します。% cc omp_ignore.c -lompstubs

libompstubs.a と OpenMP 実行時ライブラリの libmtsk.so 両方とのリンクはサポートされていません。両方とリンクすると、予期しない動作になることがあります。

-xopenmp=none
OpenMP プラグマの認識を無効にし、最適化レベルを変更しません

その他の注