Класс array
Представляет контейнер данных, используемый для перемещения данных к ускорителю.
template <
typename _Value_type,
int _Rank
>
friend class array;
Параметры
_Value_type
Тип данных элемента._Rank
Ранг массива.
Члены
Открытые конструкторы
Name |
Описание |
---|---|
Инициализирует новый экземпляр класса array. |
|
Уничтожает объект array. |
Открытые методы
Name |
Описание |
---|---|
Копирует содержимое массива в другой массив. |
|
Возвращает указатель на необработанные данные массива. |
|
Возвращает объект accelerator_view, представляющий расположение, в котором размещен массив. Доступ к этому свойству можно получить только на ЦП. |
|
Получает второй объект accelerator_view, передаваемый в качестве параметра при вызове промежуточного конструктора для создания экземпляра объекта array. |
|
Возвращает access_type массива. Доступ к этому методу можно получить только на ЦП. |
|
Возвращает объект extent массива. |
|
Возвращает одномерный массив, содержащий все элементы в объекте array. |
|
Возвращает подраздел объекта array, находящийся по заданному начальному положению и, при необходимости, имеющий определенный размер. |
|
Возвращает объект array_view, который создан из объекта array. |
Открытые операторы
Name |
Описание |
---|---|
Использует copy(*this, vector) для неявного преобразования массива в объект std::vector. |
|
Возвращает значение элемента, заданного параметрами. |
|
Возвращает элемент, находящийся по указанному индексу. |
|
Копирует содержимое указанного объекта array в данный объект. |
Открытые константы
Name |
Описание |
---|---|
Хранит размерность массива. |
Открытые члены данных
Name |
Описание |
---|---|
Получает объект accelerator_view, представляющий расположение, в котором выделен массив. Доступ к этому свойству можно получить только на ЦП. |
|
Получает второй объект accelerator_view, передаваемый в качестве параметра при вызове промежуточного конструктора для создания экземпляра объекта array. |
|
Получает объект access_type, представляющий способ доступа ЦП к хранилищу массива. |
|
Получает область памяти, которая определяет форму массива. |
Примечания
Тип array<T,N> представляет плотный и обычный (равномерный) N-мерный массив, расположенный в определенном месте, например, в ускорителе или ЦП. Тип данных элементов в массиве — T, который должен быть типом, совместимым с целевым ускорителем. Хотя размерность массива, N, определяется статически и является частью типа, область памяти массива определяется средой выполнения и выражается с помощью класса extent<N>.
Массив может иметь любое количество измерений, хотя некоторые функциональные возможности специализированы для объектов array размерности 1, 2 и 3. Если опустить аргумент измерения, то значение по умолчанию — 1.
Данные массива располагаются в памяти непрерывно. Элементы, которые отличаются на единицу в наименее значимом измерении, смежны в памяти.
Считается, что массивы являются типами значений, поскольку при копировании одного массива в другой выполняется полное копирование. Два массива никогда не указывают на одни и те же данные.
Тип array<T,N> используется в некоторых сценариях:
Как контейнер данных, который можно использовать в вычислениях на ускорителе.
Как контейнер данных для хранения памяти на узловом ЦП (который может быть использован для копирования в и из других массивов).
В качестве промежуточного объекта, который будет действовать как быстрый посредник в копировании от узла к устройству.
Иерархия наследования
array
Требования
Заголовок: amp.h
Пространство имен: Concurrency