インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス

インテル® MIC アーキテクチャー

このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーをターゲットとする場合にのみ適用されます。

インテル® Xeon Phi™ プロセッサーは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー・ベースのプロセッサーです。

インテル® Fortran コンパイラーでは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーで実行するバイナリーのプログラミングとビルド用にさまざまな機能が用意されています。

オフロード用に定義されているコードは、Linux* または Windows* を実行するインテル® Xeon® プロセッサー・ベースのホストおよびインテル® MIC アーキテクチャーをサポートするターゲットで実行します。

インテル® 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

これらは古い関数 (非推奨) です。

次の処理を行う関数のセットが用意されています。

  • コプロセッサー関連情報を特定する

  • CPU の関数を呼び出してコプロセッサーの実行環境を変更する

  • CPU のみの実行の場合にビルドされないコードを記述する

インテル® MIC アーキテクチャー用にビルド

コンパイラーには、インテル® MIC アーキテクチャー用のバイナリーをビルドするときに使用できる、次のコンパイラー・オプションと環境変数が用意されています。

コンパイラー・オプション

説明

Qoffload- (Windows*)

qno-offload (Linux*)

これは古いオプション (非推奨) です。

オフロードの言語構造を無視します。

Qoffload-archqoffload-arch

オフロードコードのターゲット・アーキテクチャーを指定します。

Qoffload-attribute-targetqoffload-attribute-target

これは古いオプション (非推奨) です。

ソースファイル中のすべてのグローバルルーチンとグローバル・データ・オブジェクトにオフロード属性 target(mic) のフラグを付けます。

Qoffload-optionqoffload-option

指定したターゲットとツールで使うオプションを指定します。

Qopt-report-phase:offloadqopt-report-phase=offload

最適化レポートを生成するときに使用する offload 最適化フェーズを指定する

以下に、インテル® MIC アーキテクチャーで利用可能な環境変数の一部を示します。

環境変数

説明

MIC_STACKSIZE

コプロセッサーのスタックサイズを設定します。

MIC_ENV_PREFIX

コプロセッサーに渡される環境変数を制御します。

MIC_PROXY_IO

これは古い変数 (非推奨) です。

stderr と stdout の I/O プロキシーを制御します。

関連情報