smp

C に適用 C++ に適用

目的

プログラム・コードの並列化を使用可能にする。

構文


構文図

ここで、


auto プログラム・コードの自動並列化および最適化を使用可能にします。
noauto プログラム・コードの自動並列化を使用不可にします。 SMP または OpenMP プラグマ・ステートメントによって明示的に並列化されるプログラム・コードが最適化されます。
opt プログラム・コードの自動並列化および最適化を使用可能にします。
noopt 自動並列化は使用可能にしますが、並列化されたプログラム・コードの最適化は使用不可にします。並列化されたプログラム・コードをデバッグするときは、この設定を使用してください。
omp OpenMP 2.0 標準に厳密に準拠できるようにします。自動並列化は使用不可になります。並列化されたプログラム・コードは最適化されます。認識されるのは、OpenMP 並列化プラグマのみです。
noomp プログラム・コードの自動並列化および最適化を使用可能にします。
explicit ループの明示並列化を制御するプラグマを使用可能にします。
noexplicit ループの明示並列化を制御するプラグマを使用不可にします。
nested_par これを指定すると、ネストされた並列構成はシリアライズされません。 nested_par は、スレッドの新規のチームをネストされた並列領域用に作成させる原因とはならないため、真のネストされた並列性を提供しません。代わりに、現在使用可能なスレッドが再利用されます。

このオプションを使用する場合は、注意が必要です。外部ループ内の使用可能なスレッドの数および作業の量によっては、このオプションが有効な場合でも、内部ループが順次実行される可能性があります。並列化オーバーヘッドは、必ずしもプログラムのパフォーマンス向上によって相対位置変更されるとは限りません。

nonested_par ネストされた並列構成の並列化を使用不可にします。
rec_locks これを指定すると、再帰的ロックが使用され、ネストされたクリティカル・セクションがデッドロックの原因となることはありません。
norec_locks これを指定すると、再帰的ロックは使用されません。
schedule=sched_type[=n] 他のスケジューリング・アルゴリズムがソース・コードに明示的に割り当てられていないループに使用されている、スケジューリング・アルゴリズムの種類およびチャンク・サイズ (n) を指定します。 sched_type が指定されていない場合、schedule=runtime がデフォルト設定と見なされます。

関連概念

プログラムの並列化

関連タスク

プラグマを使用した並列処理の制御

関連参照

コンパイラーのコマンド行オプション
O、optimize
threaded
並列処理を制御するプラグマ
並列処理のためのランタイム・オプション並列処理のための OpenMP ランタイム・オプション
並列処理に使用する組み込み関数 IBM Copyright 2003