Массив сохранен на графическом процессоре
gpuArray
объект представляет массив, сохраненный в памяти графического процессора. Большое количество функций в MATLAB® и в других тулбоксах поддерживают gpuArray
объекты, позволяя вам запустить ваш код по графическим процессорам с минимальными изменениями в коде. Работать с gpuArray
объекты, используйте любой gpuArray
- активированная функция MATLAB, такая как fft
mtimes, *
или mldivide
. Найти полный список gpuArray
- активированные функции в MATLAB и в других тулбоксах, смотрите поддержанные графическим процессором функции. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре.
Если вы хотите получить массив из графического процессора, например, при использовании функции, которая не поддерживает gpuArray
объекты, используйте gather
функция.
Примечание
Можно загрузить файлы MAT, содержащие gpuArray
данные как массивы в оперативной памяти, когда графический процессор не доступен. gpuArray
объект, загруженный без графического процессора, ограничивается, и вы не можете использовать его для расчетов. Использовать gpuArray
объект, загруженный без графического процессора, получите использование содержимого gather
.
Используйте gpuArray
преобразовывать массив в рабочем пространстве MATLAB в gpuArray
объект. Некоторые функции MATLAB также позволяют вам создавать gpuArray
объекты непосредственно. Для получения дополнительной информации смотрите, Устанавливают Массивы на графическом процессоре.
Существует несколько методов для исследования характеристик gpuArray
объект. Большинство ведет себя как функции MATLAB того же имени.
isgpuarray | Определите, является ли введенный gpuArray
|
existsOnGPU | Определите, доступны ли gpuArray или CUDAKernel на графическом процессоре |
isUnderlyingType | Определите, задал ли введенный базовый тип данных |
ndims | Количество измерений массива |
size | Размер массивов |
underlyingType | Тип базовых данных, определяющих поведение массивов |
Несколько тулбоксов MATLAB включают функции со встроенным gpuArray
поддержка. Просмотреть списки всех функций в этих тулбоксах та поддержка gpuArray
объекты, используйте ссылки в следующей таблице. Функции в списках с информационными индикаторами имеют ограничения или указания по применению, характерные для выполнения функции на графическом процессоре. Можно проверять указания и ограничения по применению в раздел Extended Capabilities страницы ссылки на функцию. Для получения информации об обновлениях отдельного gpuArray
- активированные функции, смотрите информацию о релизах.
Можно просмотреть gpuArray
- поддерживаемые функции от всего MathWorks® продукты в следующей ссылке: gpuArray
- поддерживаемые функции. В качестве альтернативы можно отфильтровать продуктом. На панели Help нажмите Functions. В функциональном списке просмотрите левую панель, чтобы выбрать продукт, например, MATLAB. В нижней части левой панели выберите GPU Arrays. Если вы выбираете продукт, который не имеет gpuArray
- активированные функции, затем фильтр GPU Arrays не доступен.
Если вам нужна лучшая эффективность, или если функция не доступна на графическом процессоре, 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
объекты непосредственно. Для получения дополнительной информации смотрите раздел Extended Capabilities страницы ссылки на функцию.
isgpuarray
| canUseGPU
| arrayfun
| gpuDevice
| existsOnGPU
| gather
| reset
| pagefun
| gputimeit