非同期計算について

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

デフォルトでは、OFFLOAD 宣言子を使用すると、宣言子に到達した CPU スレッドは次の文へ進む前にオフロードの完了を待機します。 CPU がオフロードを開始してすぐに次の文へ進むように指定することで、非同期オフロード計算を実行できます。

非同期オフロード計算を指定するには、OFFLOAD 宣言子signal 節を指定して計算を開始し、続いてオフロード計算の完了を待つ OFFLOAD_WAIT 宣言子を使用します。

例: 非同期計算

次の例では、別の CPU スレッドを追加することなく、CPU はオフロード計算を行い、同時に処理を続行します。

integer signal_var
integer counter
counter = 10000
!DIR$ ATTRIBUTES OFFLOAD:MIC :: long_running_mic_compute
do while (counter .gt. 0)
     !DIR$ OFFLOAD TARGET(MIC:0) SIGNAL(signal_var)
        call long_running_mic_compute()
     call concurrent_cpu_activity()
     !DIR$ OFFLOAD_WAIT TARGET(MIC:0) WAIT (signal_var)
    counter = counter - 1
end do
end

関連情報


このヘルプトピックについてのフィードバックを送信