インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
このトピックは、インテル® グラフィックス・テクノロジー向けの IA-32 アーキテクチャーにのみ適用されます。インテル® グラフィックス・テクノロジーはプレビュー機能です。
インテル® グラフィックス・テクノロジー対応のインテル® プロセッサーの多くのモデルでは、並列化可能なかなりの作業をオフロードできます。IA-32 アーキテクチャー向けにコンパイルする場合、インテル® C++ コンパイラーを利用すると、CPU 向けに記述されている既存のスカラーまたは並列 C/C++ コードを、容易にプロセッサー・グラフィックスへオフロードできます。多くの場合、このオフロードはわずかなコードを追加するだけで済みます。
コンパイラーは、CPU (ホスト) でネイティブ実行するコード領域と、プロセッサー・グラフィックス (ターゲット) へオフロードするコード領域を生成します。オフロードランタイムは、ターゲットへのオフロード処理に使用されるランタイム・ライブラリーを参照します。
コンパイラーとオフロードランタイムは、次の操作を可能にします。
オフロードプロセスおよび CPU とターゲット間のデータ交換
ターゲットの動的検出と、ターゲットが利用できない場合にホストによるバックアップ実行
さらに、次の操作を簡単に行えるようにします。
オフロードされたヘテロジニアス・ソースコードのホストによるデバッグ
ホストとターゲット間のタスクの分離
同じソースコードをインテル® プロセッサーまたはインテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー・ベースのコプロセッサーで効率良く実行できるように移植
コンパイラーには、インテル® グラフィックス・テクノロジー用のバイナリーをビルドする際に使用できる、次のコンパイラー・オプションと環境変数が用意されています。
コンパイラー・オプション |
説明 |
|---|---|
/Qoffload の否定形 |
オフロードの言語構造を無視します。 |
/Qoffload-attribute-target |
ソースファイル中のすべてのグローバルルーチンとグローバル・データ・オブジェクトにオフロード属性 target(gfx) のフラグを付けます。 |
/Qoffload-option |
指定したターゲットとツールで使うオプションを指定します。 |
インテル® グラフィックス・テクノロジーで利用可能な環境変数の一部を以下に示します。
インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。 改訂 #20110804 |