Массив, сохраненный на графическом процессоре
A gpuArray
объект представляет массив, сохраненный в графическом процессоре. Для работы с gpuArray
объекты, используйте любой MATLAB с поддержкой GPU® функция. Можно использовать массив для прямых вычислений или в ядрах CUDA, которые выполняются на графическом процессоре. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре.
Если вы хотите получить массив из графический процессор, например, при использовании функции, которая не поддерживает gpuArray
объекты, использовать gather
функция.
Примечание
Можно загрузить файлы MAT, содержащие данные gpuArray, как массивы в памяти, когда графический процессор недоступен. gpuArray, загруженный без графический процессор, ограничен, и вы не можете использовать его для расчетов. Чтобы использовать gpuArray, загруженный без графический процессор, извлеките содержимое с помощью gather
.
Использование gpuArray
для преобразования массива в рабочем пространстве MATLAB в gpuArray
объект. Многие функции MATLAB также позволяют создавать gpuArray
объекты непосредственно. Дополнительные сведения см. в разделе Установка массивов на графическом процессоре.
Существует несколько методов исследования характеристик gpuArray
объект. Большинство ведет себя как функции MATLAB того же имени.
existsOnGPU | Определите, доступен ли gpuArray или CUDAKernel на графическом процессоре |
isequal | Определите равенство массива |
isnumeric | Определите, является ли вход числовым массивом |
issparse | Определите, является ли вход разреженным |
isUnderlyingType | Определите, определил ли вход базовый тип данных |
length | Длина наибольшего измерения массива |
ndims | Количество измерений массива |
size | Размер массива |
underlyingType | Тип базовых данных, определяющих поведение массива |
Другие методы gpuArray
слишком много объектов для перечисления. Большинство напоминает и ведет себя так же, как и функции MATLAB того же имени. См. раздел «Запуск функций MATLAB на графическом процессоре».
Если вам нужна повышенная эффективность, или если функция недоступна для графический процессор, gpuArray
поддерживает следующие опции:
Чтобы предварительно скомпилировать и запустить чисто поэлементный код на gpuArray
объекты, использовать arrayfun
функция.
Запуск кода С++, содержащего CUDA® код устройства или вызовы библиотеки, используйте MEX-функцию. Для получения дополнительной информации смотрите Запуск MEX-функций, содержащих код CUDA.
Чтобы запустить существующие ядра графический процессор, написанные на CUDA C++, используйте интерфейс 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
, type
help gpuArray.colon