tile_barrier Class

Synchronizes the execution of threads that are running in the thread group (the tile) by using wait methods. Only the runtime can instantiate this class.

Syntax

class tile_barrier;

Members

Public Constructors

Name Description
tile_barrier Constructor Initializes a new instance of the tile_barrier class.

Public Methods

Name Description
wait Instructs all threads in the thread group (tile) to stop executing until all threads in the tile have finished waiting.
wait_with_all_memory_fence Blocks execution of all threads in a tile until all memory accesses have been completed and all threads in the tile have reached this call.
wait_with_global_memory_fence Blocks execution of all threads in a tile until all global memory accesses have been completed and all threads in the tile have reached this call.
wait_with_tile_static_memory_fence Blocks execution of all threads in a tile until all tile_static memory accesses have been completed and all threads in the tile have reached this call.

Inheritance Hierarchy

tile_barrier

Requirements

Header: amp.h

Namespace: Concurrency

tile_barrier Constructor

Initializes a new instance of the class by copying an existing one.

Syntax

tile_barrier(
    const tile_barrier& _Other ) restrict(amp,cpu);

Parameters

_Other
The tile_barrier object to copy.

wait

Instructs all threads in the thread group (tile) to stop execution until all threads in the tile have finished waiting.

Syntax

void wait() const restrict(amp);

wait_with_all_memory_fence

Blocks execution of all threads in a tile until all threads in a tile have reached this call. This ensures that all memory accesses are visible to other threads in the thread tile, and have been executed in program order.

Syntax

void wait_with_all_memory_fence() const restrict(amp);

wait_with_global_memory_fence

Blocks execution of all threads in a tile until all threads in a tile have reached this call. This ensures that all global memory accesses are visible to other threads in the thread tile, and have been executed in program order.

Syntax

void wait_with_global_memory_fence() const  restrict(amp);

wait_with_tile_static_memory_fence

Blocks execution of all threads in a tile until all threads in a tile have reached this call. This ensures that tile_static memory accesses are visible to other threads in the thread tile, and have been executed in program order.

Syntax

void wait_with_tile_static_memory_fence() const restrict(amp);

See also

Concurrency Namespace (C++ AMP)