Введите для MATLAB gpuArray
mxGPUArray является непрозрачным типом языка C, который предоставляет доступ к MEX-функции к элементам в MATLAB gpuArray. Используя mxGPU API, можно выполнить вычисления на MATLAB gpuArray и возвратить результаты gpuArray в MATLAB.
Все MEX-функции получают входные параметры и передают выходные параметры как mxArrays. gpuArray в MATLAB является специальным видом mxArray, который представляет массив, сохраненный на графическом процессоре. В вашей MEX-функции вы используете объекты mxGPUArray получить доступ к массиву, сохраненному на графическом процессоре: эти объекты соответствуют MATLAB gpuArrays.
mxGPU API содержит функции, которые управляют объектами mxGPUArray
. Эти функции позволяют вам извлекать mxGPUArrays от входа mxArrays, переносить вывод mxGPUArrays как mxArrays для возврата к MATLAB, определять характеристики массивов и получать указатели на базовые элементы. Можно выполнить вычисления путем передачи указателей на функции CUDA, которые вы пишете или которые доступны во внешних библиотеках.
Базовая структура MEX-функции графического процессора:
Вызовите mxInitGPU
, чтобы инициализировать библиотеку MathWorks GPU.
Определите, какие входные параметры mxArray
содержат данные графического процессора.
Создайте объекты mxGPUArray
из аргументов входа mxArray
и получите указатели на входные элементы на устройстве.
Создайте объекты mxGPUArray
содержать выходные параметры и получить указатели на выходные элементы на устройстве.
Вызовите функцию CUDA, передав его указатели устройства.
Перенесите вывод mxGPUArray
как mxArray
для возврата к MATLAB.
Уничтожьте объекты mxGPUArray
, которые что вы создали.
Заголовочным файлом, который содержит этот тип, является mxGPUArray.h
. Вы включаете его со строкой:
#include "gpu/mxGPUArray.h"