インテル® Fortran コンパイラー 19.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)