Массив сохранен на графическом процессоре
Объект gpuArray
представляет массив, сохраненный на графическом процессоре. Чтобы работать с объектами gpuArray
, используйте любую поддерживающую графический процессор функцию MATLAB®. Можно использовать массив для прямых вычислений или в ядрах CUDA, которые выполняются на графическом процессоре. Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре.
Если вы хотите получить массив из графического процессора, например, при использовании функции, которая не поддерживает объекты gpuArray
, использует функцию gather
.
Используйте gpuArray
, чтобы преобразовать массив в рабочем пространстве MATLAB в объект gpuArray
. Много функций MATLAB также позволяют вам создавать объекты gpuArray
непосредственно. Для получения дополнительной информации смотрите, Устанавливают Массивы на графическом процессоре.
G = gpuArray(X)
Существует несколько методов для исследования характеристик объекта gpuArray
. Большинство ведет себя как функции MATLAB того же имени.
classUnderlying | Класс элементов в gpuArray или распределенном массиве |
existsOnGPU | Определите, доступны ли gpuArray или CUDAKernel на графическом процессоре |
isaUnderlying | Определите, имеют ли данные tall array заданный класс |
isequal | Определите равенство массивов |
isnumeric | Определите, является ли введенный числовым массивом |
issparse | Определите, разреженно ли введенный |
length | Длина самого большого измерения массива |
ndims | Количество измерений массива |
size | Размер массивов |
Другие методы для объектов gpuArray
являются слишком многочисленными, чтобы перечислить здесь. Большинство напоминает и ведет себя то же самое как функции MATLAB того же имени. Смотрите функции MATLAB Выполнения на графическом процессоре.
Если вам нужна увеличенная производительность, или если функция не доступна для графического процессора, gpuArray
поддерживает следующие опции:
Чтобы предварительно скомпилировать и запустить чисто поэлементный код по объектам gpuArray
, используйте функцию arrayfun
.
Чтобы запустить Код С++, содержащий код устройства CUDA® или вызовы библиотеки, используйте MEX-функцию. Для получения дополнительной информации смотрите, что MEX-функции Выполнения Содержат Код CUDA.
Чтобы запустить существующие ядра графического процессора, написанные в C++ CUDA, используйте интерфейс MATLAB CUDAKernel. Для получения дополнительной информации смотрите Выполнение CUDA или Код PTX по графическому процессору.
Чтобы сгенерировать код CUDA из кода MATLAB, используйте GPU Coder™. Для получения дополнительной информации смотрите Начало работы с GPU Coder (GPU Coder).
Можно управлять потоком случайных чисел на графическом процессоре с помощью gpurng
.
Ни одно из следующего не может превысить intmax('int32')
:
Число элементов плотного массива.
Количество ненулевых элементов разреженного массива.
Размер в любой данной размерности. Например, zeros(0,3e9,'gpuArray')
не позволен.
Можно также создать объект gpuArray
с помощью некоторых функций MATLAB путем определения gpuArray
вывод. В следующей таблице перечислены доступные функции MATLAB, которые могут создать объекты gpuArray
непосредственно.
|
|
|
|
|
|
| gpuArray. colon |
| gpuArray. freqspace |
| gpuArray. linspace |
| gpuArray. logspace |
gpuArray. speye |
Для специфичной для класса справки на функциях с префиксом gpuArray
ввести
help gpuArray.functionname
где functionname
является именем метода. Например, чтобы получить справку на colon
, ввести
help gpuArray.colon