インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
インテル® C++ コンパイラー固有のプラグマを以下に示します。 各プラグマの詳細については、プラグマ名をクリックしてください。
一部のプラグマはインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。
プラグマ |
説明 |
---|---|
指定したセクションに 1 つ以上の変数を割り当てます。 変数のセクション属性指定を制御します。 |
|
cilk_for ループで処理される 1 回あたりの反復のサイズ (粒度サイズ) を指定します。 |
|
指定された位置でループ分配を行うようにコンパイラーに指示します。 |
|
文内のすべての呼び出しのインライン展開を指定します。 forceinline と noinline プラグマについても示します。 |
|
インテルの以前のタスク用に、潜在的に異なるスレッドで実行される作業単位を指定します。 |
|
インテルの以前のタスク用に、囲まれた task プラグマに指定された作業単位をキューイングする while ループの環境を指定します。 |
|
ベクトル依存性が存在していると推定されてもそれを無視するようにコンパイラーに指示します。 |
|
for ループの反復数を指定します。 |
|
ループが隣接するループと融合されないようにします。 |
|
特定のループをベクトル化しないように指定します。 |
|
文をターゲット上で実行します。このプラグマは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーに適用されます。 |
|
プラグマの後で宣言されたすべての関数と変数がターゲットで利用可能であることを示します。 このプラグマは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーにのみ適用されます。 |
|
同期データ転送を開始して完了します。 signal 節と一緒に使用すると、非同期データ転送を開始します。 このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
開始した非同期データ転送を待つように指定します。 このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
1 つの関数またはすべての関数の最適化を制御します。 |
|
関数に関する特定の情報を最適化に渡します。 |
|
このプラグマから別の最適化プラグマまたは翻訳単位の最後に到達するまで最適化を有効または無効にします。 |
|
ループ直後の自動並列化を行う依存性を解決するか (parallel)、ループ直後の自動並列化を抑止します (noparallel)。 |
|
コンパイラーにより、メモリーからのデータ・プリフェッチ要求を発行または無効にします。 このプラグマは、インテル® MIC アーキテクチャーおよびインテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) にのみ適用されます。 |
|
ループのベクトル化を実行します。 |
|
SIMD レーンの論理的な順序でシリアルに実行すべきループのコードブロックまたは SIMD 対応関数を指定します。 |
|
カウントされたループをアンロールする [しない] ようにコンパイラーに指示します。 |
|
ループアンロールとジャムを有効/無効にします。 これらのプラグマは、反復される for ループにのみ適用できます。 |
|
未使用の変数を示します (警告メッセージは生成されません)。 |
|
ループを引数キーワードに従ってベクトル化するようにコンパイラーに指示します。 |