インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
インテル® コンパイラー固有のプラグマ・リファレンスで説明されているインテル固有の C++ コンパイラー・プラグマを以下にリストします。
一部のプラグマはインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。
詳細は、プラグマをクリックしてください。
プラグマ |
説明 |
|---|---|
指定したセクションに変数を割り当てます。変数のセクション属性指定を制御します。 |
|
cilk_for ループで処理される 1 回あたりの反復のサイズ (粒度サイズ) を指定します。 |
|
指定された位置でループ分配を行うようにコンパイラーに指示します。 |
|
文内のすべての呼び出しのインライン展開を指定します。 |
|
インテルの以前のタスク用に、潜在的に異なるスレッドで実行される作業単位を指定します。 |
|
インテルの以前のタスク用に、囲まれた task プラグマに指定された作業単位をエンキューする while ループの環境を指定します。 |
|
ベクトル依存性が存在していると推定されてもそれを無視するようにコンパイラーに指示します。 |
|
for ループの反復数を指定します。 |
|
ループが隣接するループと融合されないようにします。 |
|
ループをベクトル化しないように指定します。 |
|
文をターゲット上で実行します。 このプラグマは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーにのみ適用されます。 インテル® グラフィックス・テクノロジーはプレビュー機能です。 |
|
プラグマの後で宣言されたすべての関数と変数がターゲットで利用可能であることを示します。このプラグマは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーにのみ適用されます。 インテル® グラフィックス・テクノロジーはプレビュー機能です。 |
|
同期データ転送を開始し完了します。signal 節と一緒に使用すると、非同期データ転送を開始します。 このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
開始した非同期データ転送を待つように指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
アトミックに実行する必要がある計算を指定します。 |
|
チーム内のすべてのスレッドが到着するまで各スレッドが待機しなければならないコード位置を指定します。 |
|
一度に 1 つのスレッドのみアクセスできるコードブロックを指定します。 |
|
SIMD ループから一度の呼び出しで、SIMD (single instruction-multiple data) 命令を使用して複数の引数を処理できる関数バージョンを作成します。 |
|
target 領域から呼び出せる関数のデバイス固有バージョンを作成します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
omp declare target linkable |
デバイス上で利用可能な名前付き変数を指定します。このプラグマは宣言型プラグマで、インテル® MIC アーキテクチャーにのみ適用されます。 |
omp declare target mirror |
各デバイスで複製され、プライベート・コピーが保持される変数を指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
1 つ以上のループの反復をすべてのスレッドチームのマスタースレッド間で共有するかどうかを指定します。 |
|
スレッドから見たメモリーの状態と実際のメモリーの整合性が保たれるポイントを識別します。 |
|
並列ループを指定します。ループの各反復は、チーム内の 1 つのスレッドにより実行されます。 |
|
SIMD (Single Instruction, Multiple Data) 命令を使用して同時に実行可能なループの開始位置を指定します。ループの各反復は、チーム内の 1 つのスレッドにより実行されます。 |
|
SIMD (Single Instruction, Multiple Data) 命令を使用して実行するループを含む並列領域を指定します。 |
|
チームのマスタースレッドで 1 回だけ実行するコードブロックの開始位置を指定します。 |
|
ループの反復順に実行されるワークシェア・ループのコードブロックを指定します。 |
|
スレッドのチームにより並列に実行される構造ブロックを指定します。 |
|
関連付けられた 1 つ以上のループを含む並列構造を指定します。 |
|
1 つの sections 構造を含む parallel 構造を指定します。 |
|
チーム内のスレッド間で分配される構造ブロック領域を定義します。 |
|
ループを SIMD (Single Instruction, Multiple Data) 命令を使用して同時に実行されるループに変換します。 |
|
チーム内の 1 つのスレッドにより 1 回だけ実行するコードブロックの開始位置を指定します。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。 |
|
ホストからターゲットデバイスへ変数をマッピングして、デバイスのデータ環境を作成します。 |
|
宣言子で指定されているモーション節に応じて、デバイスとホスト間でデバイスのデータ環境の項目の整合性を保持します。 |
|
実行が遅延される可能性があるコードブロックの開始位置を指定します。 |
|
囲まれたタスクと派生タスクがすべて完了するまでプログラムを待機させます。 |
|
現在のタスクを中断し、別のタスクの実行を優先することを許可します。 |
|
現在のタスクが開始してから、生成された子タスクの完了まで待機するように指定します。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造ブロックを実行します。 |
|
各スレッドにプライベートとして割り当てられるグローバル変数のリストを指定します。 |
|
このプラグマから別の最適化プラグマまたは翻訳単位の最後に到達するまで最適化を有効または無効にします。 |
|
1 つの関数またはすべての関数の最適化を制御します。 |
|
関数レベルで、特定のプロセッサー専用コードを生成するようにコンパイラーに指示します。-m (/arch) オプションに似ています。 |
|
ループ直後の自動並列化を行う依存性を解決するか (parallel)、ループ直後の自動並列化を抑止します (noparallel)。 |
|
コンパイラーにより、メモリーからのデータ・プリフェッチ要求を発行または無効にします。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
ループのベクトル化を実行します。 |
|
カウントされたループをアンロールする [しない] ようにコンパイラーに指示します。 |
|
ループアンロールとジャムを有効/無効にします。これらのプラグマは、反復される FOR ループにのみ適用できます。 |
|
未使用の変数を示します (警告メッセージは生成されません)。 |
|
ループを引数キーワードに従ってベクトル化するようにコンパイラーに指示します。 |