Массив сохранен на графическом процессоре
gpuArray объект представляет массив, сохраненный в памяти графического процессора. Большое количество функций в MATLAB® и в других тулбоксах поддерживают gpuArray объекты, позволяя вам запустить ваш код по графическим процессорам с минимальными изменениями в коде. Работать с gpuArray объекты, используйте любой gpuArray- активированная функция MATLAB, такая как fftmtimes, * или 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