インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテルの以前のタスク用に、囲まれた task プラグマに指定された作業単位をキューイングする while ループの環境を指定します。
#pragma intel_omp_taskq[clause[[,]clause]...] |
structured-block |
clause |
次のいずれかです。
|
intel_omp_taskq プラグマは、囲まれた作業 (タスク) 単位が実行される環境を指定します。最初に、taskq プラグマを実行するすべてのスレッド間の中から、1 つのスレッドが選択されます。
概念的には、taskq プラグマは、選択したスレッドを実行する空のキューを生成し、次に、taskq ブロック内のコードがシングルスレッドとして実行されます。他のすべてのスレッドは、この概念キューに作業がキューイングされるのを待ちます。
task プラグマは、潜在的に異なるスレッドで実行される作業単位を指定します。taskq ブロック内に task プラグマが存在すると、task ブロックの内側のコードは、taskq に関連付けられている概念キューにキューイングされます。キューイングされたすべての作業が終了し、taskq ブロックの最後に達すると、概念キューはなくなります。