Введите для 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"