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

システムのコプロセッサー関連情報の特定

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

このセクションで説明している関数を使用して、次の情報を特定できます。

これらの関数のインターフェイスを定義するには、ヘッダーファイル mic_lib.f90 を使用します。このヘッダーファイルは USE mic_lib でインクルードされます。

複数のコプロセッサーを搭載したシステムでは、offloadディレクティブを使用して確実にデータを保持する場合、target-number 引数を指定する必要があります。target-number を指定せずに alloc_if または free_if を使用してコプロセッサーでデータを保持する場合、コンパイラーのランタイムはランダムにコプロセッサーを選択するため、データを利用できないコプロセッサーが選択されることがあります。

システムのコプロセッサー数の特定

システムのコプロセッサー数を特定するには、関数 result = OFFLOAD_NUMBER_OF_DEVICES() を使用します。

この関数は、システムに搭載され動作しているコプロセッサーの数を整数で返します。搭載され動作しているコプロセッサーがない場合、戻り値は 0 です。

プログラムを実行しているコプロセッサーの特定

プログラムを実行しているコプロセッサーを特定するには、関数 result = OFFLOAD_GET_DEVICE_NUMBER() を使用します。

この関数は、プログラムを実行しているコプロセッサーの番号 (0 が最初のカード) を整数で返します。プログラムを CPU で実行している場合、戻り値は -1 です。

コプロセッサーでコードの実行が完了したかどうかの特定

指定されたコプロセッサーでオフロードコードのセクションの実行が完了したかどうか判断するには、OFFLOAD_SIGNALED() API を使用します。

この API の構文は次のとおりです。

OFFLOAD_SIGNALED(target_number,signal)

関連情報