Поделиться через


Класс tile_barrier

Синхронизирует выполнение потоков, запущенных в группе потоков (плитке), с помощью методов wait. Только среда выполнения может создать экземпляр этого класса.

Синтаксис

class tile_barrier;

Участники

Открытые конструкторы

Имя Описание
Конструктор tile_barrier Инициализирует новый экземпляр класса tile_barrier.

Открытые методы

Имя Описание
ждать Указывает всем потокам в группе потоков (тайле) прекратить выполнение до тех пор, пока все потоки в тайле не завершат ожидание.
ожидание_со_всей_памятной_защитой Блокирует выполнение всех потоков на плитке до тех пор, пока не завершатся все обращения к памяти и пока все потоки на плитке не достигнут этого вызова.
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.

подождите

Указывает всем потокам в группе потоков (тайл) остановить выполнение, пока все потоки в тайле не завершат ожидание.

Синтаксис

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);

ожидание_с_защитой_памяти_плитки

Блокирует выполнение всех потоков на плитке до тех пор, пока все потоки в плитке не достигли этого вызова. Это гарантирует, что tile_static доступ к памяти становится видимым другим потокам в блоке потоков и выполняется в упорядоченной последовательности выполнения программы.

Синтаксис

void wait_with_tile_static_memory_fence() const restrict(amp);

См. также

Пространство имен "Concurrency" (C++ AMP)