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