tile_barrier クラス
wait
メソッドを使用してスレッド グループ (タイル) で実行されているスレッドの実行を同期します。 ランタイムのみがこのクラスをインスタンス化できます。
構文
class tile_barrier;
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
tile_barrier コンストラクター | tile_barrier クラスの新しいインスタンスを初期化します。 |
パブリック メソッド
名前 | 説明 |
---|---|
待機 | タイルのすべてのスレッドの待機が完了するまで、スレッド グループ (タイル) のすべてのスレッドの実行を停止するように指示します。 |
wait_with_all_memory_fence | すべての メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 |
wait_with_global_memory_fence | すべてのグローバル メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 |
wait_with_tile_static_memory_fence | すべての tile_static メモリ アクセスが完了し、タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 |
継承階層
tile_barrier
要件
ヘッダー: amp.h
名前空間: Concurrency
tile_barrier コンストラクター
既存のクラスをコピーして、クラスの新しいインスタンスを初期化します。
構文
tile_barrier(
const tile_barrier& _Other ) restrict(amp,cpu);
パラメーター
_Other
コピーする tile_barrier
オブジェクトです。
wait
タイルのすべてのスレッドの待機が完了するまで、スレッド グループ (タイル) のすべてのスレッドの実行を停止するように指示します。
構文
void wait() const restrict(amp);
wait_with_all_memory_fence
タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、すべてのメモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。
構文
void wait_with_all_memory_fence() const restrict(amp);
wait_with_global_memory_fence
タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、すべてのグローバル メモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。
構文
void wait_with_global_memory_fence() const restrict(amp);
wait_with_tile_static_memory_fence
タイルのすべてのスレッドがこの呼び出しに到達するまで、タイルのすべてのスレッドの実行をブロックします。 これによって、tile_static
メモリ アクセスがスレッド タイルの他のスレッドから参照でき、プログラムの順序で実行されます。
構文
void wait_with_tile_static_memory_fence() const restrict(amp);