インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。
インテル® Xeon Phi™ プロセッサーは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー・ベースのプロセッサーです。
インテル® C++ コンパイラーでは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで実行するバイナリーのプログラミングとビルド用にさまざまな機能が用意されています。
言語拡張
コンパイラー・オプション
環境変数
属性
キーワード
組込み関数
クラス・ライブラリー
OpenMP*
オフロード用に定義されているコードは、Linux* または Windows* を実行するインテル® Xeon® プロセッサー・ベースのホストおよびインテル® MIC アーキテクチャーをサポートするターゲットで実行します。
コードのセクションをオフロードしてインテル® MIC アーキテクチャーで実行できる並列プログラム、またはインテル® MIC アーキテクチャーでネイティブに実行できる並列プログラムを記述することができます。インテル® MIC アーキテクチャー向けのプログラミング拡張を含むソースファイルをコンパイルすると、ホストバイナリーとオフロードバイナリーの両方を含む FAT バイナリーが作成されます。コンパイル時に指定されたオプションに応じて、FAT バイナリーはオブジェクト、アーカイブ、または実行ファイルになります。FAT バイナリーからオフロードバイナリーを抽出する方法は、オフロード抽出ツール (offload_extract) に関連するトピックを参照してください。
コンパイラーには、インテル® MIC アーキテクチャー向けのプログラミング用に、次の言語拡張が用意されています。
名前 |
説明 |
---|---|
offload プラグマ offload_attribute プラグマ offload_transfer プラグマ offload_wait プラグマ |
注これらは古いプラグマ (非推奨) です。CPU とコプロセッサー間のデータ転送を制御するプラグマ。 |
_Cilk_offload キーワード _Cilk_shared キーワード |
注これらは古いキーワード (非推奨) です。CPU とコプロセッサー間のデータ転送を制御するキーワード。CPU とコプロセッサー間で交換されるデータは複雑でもかまいません。 インテル® Cilk™ Plus は古い機能 (非推奨) です。 |
target 属性 |
注これは古い属性 (非推奨) です。変数と関数をターゲット上に配置する属性。 |
__INTEL_OFFLOAD マクロ __TARGET_ARCH_MIC マクロ __AVX512F__ マクロ __AVX512CD__ マクロ __AVX512ER__ マクロ __AVX512PF__ マクロ |
注__INTEL_OFFLOAD は古いマクロ (非推奨) です。インテル® Xeon Phi™ x200 製品ファミリー (開発コード名 Knights Landing) で使用可能な事前定義済みマクロ。 |
組込み関数 |
インテル® MIC アーキテクチャー向け組込み関数。 |
クラス・ライブラリー |
SIMD 演算用のクラス・ライブラリー。 |
offload.h の API |
注これらは古い関数 (非推奨) です。次の処理を行う関数のセットが用意されています。
|
コンパイラーには、インテル® MIC アーキテクチャー用のバイナリーをビルドするときに使用できる、次のコンパイラー・オプションと環境変数が用意されています。
コンパイラー・オプション |
説明 |
---|---|
Qoffload- (Windows*) qno-offload (Linux*) |
注これは古いオプション (非推奨) です。オフロードの言語構造を無視します。 |
Qoffload-arch、qoffload-arch |
オフロードコードのターゲット・アーキテクチャーを指定します。 |
Qoffload-attribute-target、qoffload-attribute-target |
注これは古いオプション (非推奨) です。ソースファイル中のすべてのグローバルルーチンとグローバル・データ・オブジェクトにオフロード属性 target(mic) のフラグを付けます。 |
Qoffload-option、qoffload-option |
指定したターゲットとツールで使うオプションを指定します。 |
Qopt-report-phase:offload、qopt-report-phase=offload |
最適化レポートを生成するときに使用する offload 最適化フェーズを指定する |
以下に、インテル® MIC アーキテクチャーで利用可能な環境変数の一部を示します。
環境変数 |
説明 |
---|---|
MIC_STACKSIZE |
コプロセッサーのスタックサイズを設定します。 |
MIC_ENV_PREFIX |
コプロセッサーに渡される環境変数を制御します。 |
MIC_PROXY_IO |
注これは古い変数 (非推奨) です。stderr と stdout の I/O プロキシーを制御します。 |