インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
インテル® コンパイラー固有のプラグマ・リファレンス
親トピック:
プラグマ
alloc_section
指定したセクションに変数を割り当てます。変数のセクション属性指定を制御します。
cilk grainsize
cilk_for
ループで処理される 1 回あたりの反復のサイズ (粒度サイズ) を指定します。
distribute_point
指定された位置でループ分配を行うようにコンパイラーに指示します。
inline、noinline、forceinline
文内のすべての呼び出しのインライン展開を指定します。
intel_omp_task
インテルの以前のタスク用に、潜在的に異なるスレッドで実行される作業単位を指定します。
intel_omp_taskq
インテルの以前のタスク用に、囲まれた
task
プラグマに指定された作業単位をエンキューする while ループの環境を指定します。
ivdep
ベクトル依存性が存在していると推定されてもそれを無視するようにコンパイラーに指示します。
loop_count
for
ループの反復数を指定します。
nofusion
ループが隣接するループと融合されないようにします。
novector
ループをベクトル化しないように指定します。
offload
文をターゲットで実行します。 このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
offload_attribute
プラグマの後で宣言されたすべての関数と変数がコプロセッサーで利用可能であることを示します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
offload_transfer
非同期データ転送を開始するか、同期データ転送を開始して完了します。 このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
offload_wait
開始した非同期処理の完了を待つように指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
omp atomic
特定のメモリー位置をアトミックに更新し、複数のスレッドが同時に読み取り/書き込みを行う危険性を回避します。
omp task
タスク領域を定義します。
omp taskyield
現在のタスクを中断し、別のタスクの実行を優先するように指示します。
omp taskwait
現在のタスクが開始してから生成された子タスクの完了まで待機するように指定します。
optimize
このプラグマから別の最適化プラグマまたは翻訳単位の最後に到達するまで最適化を有効または無効にします。
optimization_level
1 つの関数またはすべての関数の最適化を制御します。
optimization_parameter
関数レベルで、特定のプロセッサー専用コードを生成するようにコンパイラーに指示します。
-m
(
/arch
) オプションに似ています。
parallel/noparallel
parallel
プラグマは、コンパイラーによる依存性の解決を支援し、ループの直後の自動並列化を促進します。
noparallel
プラグマは、ループ直後の自動並列化を抑止します。
prefetch/noprefetch
コンパイラーにより、メモリーからデータ・プリフェッチを発行するか (prefetch)、またはデータ・プリフェッチ機能を無効 (noprefetch) にします。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。
simd
simd
プラグマは、ループのベクトル化を実行します。
unroll/nounroll
カウントされたループをアンロールする [しない] ようにコンパイラーに指示します。
unroll_and_jam/nounroll_and_jam
ループアンロールとジャムを有効にするか、無効にするかのヒントをコンパイラーに与えます。これらのプラグマは、反復される
FOR
ループにのみ適用できます。
unused
未使用の変数を示します (警告メッセージは生成されません)。
vector
ループを引数キーワード (always/aligned/assert/unaligned/nontemporal/temporal) に従ってベクトル化するようにコンパイラーに指示します。