インテル® C++ コンパイラー 15.0 ユーザー・リファレンス・ガイド
インオーダーのオフロードキューにタスクを追加します。このトピックは、インテル® グラフィックス・テクノロジー向けのインテル® 64 アーキテクチャーと IA-32 アーキテクチャーにのみ適用されます。
GfxTaskId _GFX_enqueue(const char * kernel_name, arg_list);
kernel_name |
カーネルの名前。カーネルエントリー関数の非マングル名と一致する文字列。 |
arg_list |
カーネルの引数リスト (変数引数リスト)。カーネルのパラメーター・リストと一致していなければなりません。ランタイムは、カーネルの属性から引数を予測できます。 |
この関数は、オフロードタスクをキューに追加するのに必要なすべての処理を行います。 カーネルエントリー関数名を用いてカーネルを指定します。 この関数は、2D イメージやポインターなどの特殊なデータ型に必要な前処理を行ってから、カーネルエントリー関数にパラメーターを渡します。
一般的なランタイムの初期化を行う必要はありません。 この関数は、必要なすべての初期化処理がまだ行われていない場合、それらを実行します。
この関数は非ブロック関数です。タスクの完了を待機しません。
CPU とプロセッサー・グラフィックス間のディスパッチおよびタスク分割は、この関数では行われないため、明示的に行う必要があります。 これらの処理を支援するため、コンパイラーは、カーネルエントリー関数を含むすべてのターゲット関数のホストバージョンとターゲットバージョンを生成し、カーネル・エントリー・ポイントで _Cilk_for ループの互換セマンティクスを提供します。
インテル® グラフィックス・テクノロジー・ランタイムは、処理を容易にするため、1 つのデフォルトキューのみ保持します。
_GFX_enqueue で作成され、キューに追加されたタスクの完了を待機するには、_GFX_wait 関数を使用します。
この関数はスレッドセーフです。つまり、同期を追加することなく、異なるホストスレッドから利用できます。
task id |
キューに追加されているオフロードタスクのタスク ID。この値を _GFX_wait に渡してタスクの完了を待機できます。タスク ID は 64 ビットの整数値で、新しいタスクにインクリメンタルに割り当てられます。キューに追加されているタスクがユーザーによって明示的に終了および破棄されなくても、マルチスレッド環境でそれらを安全に使用できるようにします。 |
0 |
エラーが発生しました。_GFX_get_last_error() 関数を使用してエラーコードを取得してください。 |
インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。 改訂 #20110804 |