Пространство имен Concurrency (C++ AMP)
Предоставляет классы и функции, которые ускоряют выполнение кода C++ на оборудовании с параллельной обработкой данных. Дополнительные сведения см. в разделе Общие сведения о C++ AMP.
namespace Concurrency;
Члены
Пространства имен
Name |
Описание |
---|---|
Предоставляет функции, которые поддерживают взаимодействие с D3D Позволяет прозрачным образом использовать ресурсы D3D в коде AMP, а также использовать созданные в AMP ресурсы в коде D3D без создания избыточных временных копий. Существует возможность в C++ AMP инкрементально ускорять вычислительно затратные части DirectX приложений, и использовать D3D API на данных, полученных из AMP вычислений. |
|
Функции, находящиеся в пространстве имен fast_math, несовместимы с C99. Предоставляются только версии одиночной точности каждой функции. Эти функции используют встроенные функции DirectX быстрее, чем соответствующие функции в пространстве имен precise_math, и не требуют выдвинутой двойной точности поддержки в сочетании клавиш, но они являются менее точными. Существует две версии каждой функции для исходного кода на уровне совместимости с кодом C99; обе версии имеют и возвращают значения одиночной точности. |
|
Предоставляет типы и функции для программирования графики. |
|
Функции, находящиеся в пространстве имен precise_math, совместимы с C99. Для каждой функции включены версии одинарной и двойной точности. Эти функции, в том числе функции одиночной точности, требуют расширенной поддержки двойной точности в ускорителе. |
Классы
Name |
Описание |
---|---|
Представляет абстракцию физического DP-оптимизированного вычислительного узла. |
|
Представляет абстракцию виртуального устройства на ускорителе с параллельными данными C++ AMP. |
|
Исключение, вызываемое при сбое основного вызова DirectX из-за механизм Windows обнаружения и восстановления времени ожидания. |
|
Статистические данные accelerator_view в домене сетки. Это коллекция переменных, по одной для каждого элемента в домене сетки. Каждая переменная содержит значение, соответствующее некоторому типу C++. |
|
Является представлением данных в array<T,N>. |
|
Представляет фьючерс, соответствующей асинхронной операции C++ AMP. |
|
Представляет вектор из N целочисленных значений, которые определяют границы N-мерного пространства с началом координат в 0. Значения в координатном векторе упорядочены от наиболее значимых к наименее значимым. Например, в прямоугольном трехмерном пространстве, пространственный вектор (7,5,3) представляет пространство, в котором координата z находится в диапазоне от 0 до 7, координата y находится в диапазоне от 0 до 5, и координата х находится в диапазоне от 0 до 3. |
|
Определяет N-мерную точку индекса. |
|
Исключение, выдаваемое в том случае, если среда выполнения не может запустить ядро с использованием вычислительного домена, указанного в месте вызова parallel_for_each. |
|
Исключение, возникающее, если выполнение метода завершается ошибкой из-за отсутствия памяти системы или устройства. |
|
Базовый тип для исключений в библиотеке С++ AMP. |
|
Класс возможности, который может быть создан только системой, и передается заключенному в плитку лямбда-выражению parallel_for_each в качестве части параметра tiled_index. Он предоставляет один метод wait(), цель которого — синхронизировать выполнение потоков, работающих в группе потоков (плитка). |
|
Объект tiled_extent — это объект extent, имеющий от одного до трех измерений, который разделяет пространство рамки на одно-, двух-, или трехмерную мозаику. |
|
Предоставляет индекс в объект tiled_grid. Этот класс содержит свойства для доступа к элементам относительно локального начального положения плитки и относительно глобального начального положения. |
|
Исключение, которое вызывается, когда используется неинициализированный объект. |
|
Исключение, вызываемое в том случае, если используется неподдерживаемая функция. |
Перечисления
Name |
Описание |
---|---|
Определяет тип доступа к данным. |
|
Определяет режимы организации очереди, поддерживаемые ускорителем. |
Операторы
Оператор |
Описание |
---|---|
Определяет, равны ли две заданных структуры данных. |
|
Определяет, являются ли две заданных структуры данных неравными. |
|
Вычисляет покомпонентную сумму двух заданных аргументов. |
|
Вычисляет разность между указанными аргументами для каждого компонента. |
|
Вычисляет покомпонентное произведение заданных входных аргументов. |
|
Вычисляет покомпонентное частное двух заданных аргументов. |
|
Вычисляет остаток деления первого заданного аргумента на второй заданный аргумент. |
Функции
Name |
Описание |
---|---|
Блокирует выполнение всех потоков в плитке до тех пор, пока все операции обращения к памяти не будут завершены. |
|
Отменяет инициализацию среды выполнения C++ AMP. |
|
Перегружен. Если значения, хранящееся в указанном месте, в результате сравнения оказывается равным первому указанному значению, второе указанное значение сохраняется в том же месте в виде атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в значение, заданное в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположение, в сумму этого значения и значения, заданного в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в побитовое and для этого значения и заданное значение в качестве атомарной операции. |
|
Перегружен. Уменьшает значение, хранящееся в указанном месте и сохраняет результат в том же месте в виде атомарной операции. |
|
Перегружен. Увеличивает значение, хранящееся в указанном месте и сохраняет результат в том же месте в виде атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположение, в наибольшее из этого значения и значения, заданного в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в наименьшее из этого значения и значения, заданного в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в побитовое or для этого значения и заданное значение в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в разницу этого значения и заданного значения в качестве атомарной операции. |
|
Перегружен. Задает значение, сохраненное в заданном расположении, в побитовое xor для этого значения и заданное значение в качестве атомарной операции. |
|
Копирует объект C++ AMP. Все требования синхронной передачи данных выполняются. Данные нельзя копировать, когда код выполняет код на ускорителе. Общая форма этой функции — copy(src, dest). |
|
Копирует объект С++ AMP и возвращает completion_future, который можно использовать для ожидания. Данные нельзя копировать, когда код выполняется на ускорителе. Общая форма этой функции — copy(src, dest). |
|
Прерывает выполнение функции, имеющей условие ограничения restrict(amp). |
|
Отображает отформатированную строку в окне Выходные данные Visual Studio и создает исключение runtime_exception, имеет ту же строку форматирования. |
|
Выводит отформатированную строку в окно вывода Visual Studio. Она вызывается из функции с помощью предложения ограничения restrict(amp). |
|
Блокирует выполнение всех потоков в плитке до тех пор, пока все обращения к глобальной памяти не будут завершены. |
|
Выполняет функцию в вычислительном домене. |
|
Блокирует выполнение всех потоков в плитке до тех пор, пока не будет завершено обращение к памяти tile_static. |
Константы
Name |
Описание |
---|---|
Максимальное количество буферов, допускаемое DirectX. |
|
Хранит максимальную длину имени модуля. Это значение должно быть одинаковым в компиляторе и среде выполнения. |
Требования
Заголовок: amp.h