インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。
インテル® Xeon Phi™ プロセッサーは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー・ベースのプロセッサーです。
インテル® Fortran コンパイラーでは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで実行するバイナリーのプログラミングとビルド用にさまざまな機能が用意されています。
言語拡張
コンパイラー・オプション
環境変数
OpenMP*
オフロード用に定義されているコードは、Linux* または Windows* を実行するインテル® Xeon® プロセッサー・ベースのホストおよびインテル® MIC アーキテクチャーをサポートするターゲットで実行します。
コードのセクションをオフロードしてインテル® MIC アーキテクチャーで実行できる並列プログラム、またはインテル® MIC アーキテクチャーでネイティブに実行できる並列プログラムを記述することができます。インテル® MIC アーキテクチャー向けのプログラミング拡張を含むソースファイルをコンパイルすると、ホストバイナリーとオフロードバイナリーの両方を含む FAT バイナリーが作成されます。コンパイル時に指定されたオプションに応じて、FAT バイナリーはオブジェクト、アーカイブ、または実行ファイルになります。FAT バイナリーからオフロードバイナリーを抽出する方法は、オフロード抽出ツール (offload_extract) に関連するトピックを参照してください。
コンパイラーには、インテル® MIC アーキテクチャー向けのプログラミング用に、次の言語拡張が用意されています。
名前 |
説明 |
---|---|
OFFLOAD ディレクティブ OFFLOAD_ATTRIBUTE ディレクティブ OFFLOAD_TRANSFER ディレクティブ OFFLOAD_WAIT ディレクティブ OFFLOAD BEGIN および END OFFLOAD ディレクティブ |
注これらは古いディレクティブ (非推奨) です。CPU とコプロセッサー間のデータ転送を制御するディレクティブ。 |
__INTEL_OFFLOAD マクロ __TARGET_ARCH_MIC マクロ __AVX512F__ マクロ __AVX512CD__ マクロ __AVX512ER__ マクロ __AVX512PF__ マクロ |
注__INTEL_OFFLOAD は古いマクロ (非推奨) です。インテル® Xeon Phi™ x200 製品ファミリー (開発コード名 Knights Landing) で使用可能なプリプロセッサー・シンボル。 |
ATTRIBUTES OFFLOAD ディレクティブ |
コプロセッサーに変数と関数を配置するためのディレクティブ。 |
mic_lib.f90 の 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 プロキシーを制御します。 |