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


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

Пространство имен Concurrency предоставляет классы и функции, которые ускоряют выполнение кода C++ на оборудовании с параллельной обработкой данных.Дополнительные сведения см. в разделе Общие сведения о C++ AMP.

namespace Concurrency;

Члены

Hh305267.collapse_all(ru-ru,VS.110).gifПространства имен

Имя

Описание

Пространство имен Concurrency::direct3d

Пространство имен direct3d предоставляет функции, которые поддерживают взаимодействие с D3D.Оно позволяет прозрачным образом использовать ресурсы D3D в коде AMP, а также использовать созданные в AMP ресурсы в коде D3D без создания избыточных временных копий.Существует возможность инкрементально ускорять вычислительно затратные части DirectX приложений с помощью C++ AMP, и использовать D3D API на данных, полученных из AMP вычислений.

Пространство имен Concurrency::graphics

Пространство имен graphics предоставляет типы и функции, которые предназначены для программирования графики.

Hh305267.collapse_all(ru-ru,VS.110).gifКлассы

Имя

Описание

Класс accelerator

Представляет абстракцию физического DP-оптимизированного вычислительного узла.

Класс accelerator_view

Представляет абстракцию виртуального устройства на C++ AMP ускорителе с параллельными данными.

Класс array

Массив — агрегат данных на accelerator_view в домене сетки.Это коллекция переменных, по одной для каждого элемента в домене сетки.Каждая переменная содержит значение, соответствующее некоторому типу C++.

Класс array_view

Является представлением данных в array<T,N>.

Касс extent (C++ AMP)

Представляет вектор из N целочисленных значений, которые определяют границы N-мерного пространства с началом координат в 0.Значения в координатном векторе упорядочены от наиболее значимых к наименее значимым.Например, в прямоугольном трехмерном пространстве, пространственный вектор (7,5,3) представляет пространство, в котором координата z находится в диапазоне от 0 до 7, координата y находится в диапазоне от 0 до 5, и координата х находится в диапазоне от 0 до 3.

Класс index

Определяет N-мерную точку индекса.

Класс invalid_compute_domain

Исключение, выдаваемое в том случае, если среда выполнения не может запустить ядро с использованием вычислительного домена, указанного в месте вызова parallel_for_each.

Класс out_of_memory

Исключение, возникающее, если выполнение метода завершается ошибкой из-за отсутсвия памяти системы или устройства.

Класс runtime_exception

Базовый тип для исключений в библиотеке C++ Accelerated Massive Parallelism (AMP).

Класс tile_barrier

Класс tile_barrier — класс возможности, создаваемый только системой; он передается лямбда-функции замощения parallel_for_each как часть параметра tiled_index.Он предоставляет один метод wait(), цель которого — синхронизировать выполнение потоков, работающих в группе потоков (мозаике).

Класс tiled_index

Предоставляет индекс в объекте tiled_grid.Этот класс содержит свойства для доступа к элементам относительно локального начального положения мозаики и относительно глобального начального положения.

Класс uninitialized_object

Исключение, которое вызывается, когда используется неинициализированный объект.

Класс unsupported_feature

Исключение, вызываемое в том случае, если используется неподдерживаемая функция.

Hh305267.collapse_all(ru-ru,VS.110).gifПеречисления

Имя

Описание

Перечисление queuing_mode

Определяет режимы организации очереди, поддерживаемые ускорителем.

Hh305267.collapse_all(ru-ru,VS.110).gifФункции

Имя

Описание

Функция all_memory_fence

Блокирует выполнение всех потоков в мозаике до тех пор, пока все операции доступа к памяти не будут завершены.

Функция atomic_compare_exchange

Перегружен.Выполняет атомарную операцию сравнения и обмена. Сравнивает _Value со значением в памяти, указанным с помощью _Dest.Если они совпадают, то сохраняет _Value в указанном месте памяти.

[NIB]Функция atomic_exchange

Перегружен.Атомарным образом устанавливает значение памяти, указанного с помощью_Dest, в значение _Value.

[NIB]Функция atomic_fetch_add

Перегружен.Атомарным образом добавляет _Value к значению в памяти, указанному с помощью _Dest.

[NIB]Функция atomic_fetch_and

Перегружен.Атомарным образом выполняет побитовую операцию И между _Value и значением в памяти, указанным с помощью _Dest.

Функция atomic_fetch_dec

Перегружен.Атомарным образом выполняет операцию декремента значения в области памяти, указанного с помощью _Dest.

Функция atomic_fetch_inc

Перегружен.Атомарным образом выполняет операцию инкремента значения в области памяти, указанного с помощью _Dest.

Функция atomic_fetch_max

Перегружен.Атомарным образом вычисляет максимальное значение между _Value и значением в области памяти, указанным с помощью _Dest, и сохраняет максимальное значение в указанной области памяти.

Функция atomic_fetch_min

Перегружен.Атомарным образом вычисляет минимальное значение между _Value и значением в области памяти, указанным с помощью _Dest, и сохраняет минимальное значение в указанной области памяти.

[NIB]Функция atomic_fetch_or

Перегружен.Атомарным образом выполняет побитовую операцию ИЛИ между _Value и значением в памяти, указанным с помощью _Dest.

[NIB]Функция atomic_fetch_sub

Перегружен.Атомарным образом выполняет вычитание _Value из значения в области памяти, указанного с помощью _Dest.

[NIB]Функция atomic_fetch_xor

Перегружен.Атомарным образом выполняет побитовую операцию Исключающее ИЛИ между _Value и значением в памяти, указанным с помощью _Dest.

Функция copy

Копирует объект C++ AMP.Все требования синхронной передачи данных выполняются.Нельзя копировать данные при выполнении кода на ускорителе.Общая форма этой функции - copy(src, dest).

Функция copy_async

Копирует объект С++ AMP и возвращает future<void>, который можно использовать для ожидания.Нельзя копировать данные при выполнении кода на ускорителе.Общая форма этой функции - copy(src, dest).

Функция parallel_for_each (C++ AMP)

Выполняет функцию в вычислительном домене.

Константы

Имя

Описание

Константа HLSL_MAX_NUM_BUFFERS

Максимальное количество буферов, допускаемое DirectX.

Константа MODULENAME_MAX_LENGTH

Хранит максимальную длину имени модуля.Это значение должно быть одинаковым в компиляторе и среде выполнения.

Требования

Заголовок: amp.h

См. также

Другие ресурсы

Справочник (C++ AMP)