exponenta event banner

mxGPUArray

Тип для MATLAB gpuArray

Описание

mxGPUAray - непрозрачный тип языка C, который позволяет функции MEX получать доступ к элементам в MATLAB gpuArray. С помощью API mxGPU можно выполнять вычисления для MATLAB gpuArray и возвращать результаты gpuArray в MATLAB.

Все функции MEX получают входы и передают выходы как mxArray. GpuArray в MATLAB - это особый тип mxArray, который представляет массив, хранящийся на GPU. В функции MEX объекты mxGPUAray используются для доступа к массиву, хранящемуся на GPU: эти объекты соответствуют MATLAB gpuArrays.

API mxGPU содержит функции, которые управляют mxGPUArray объекты. Эти функции позволяют извлекать mxGPUAray из входных mxArrays, переносить выходные mxGPUAray в mxArrays для возврата в MATLAB, определять характеристики массивов и получать указатели на нижележащие элементы. Можно выполнять вычисления, передавая указатели на функции CUDA, которые записываются или которые доступны во внешних библиотеках.

Основная структура функции MEX графического процессора:

  1. Звонить mxInitGPU для инициализации библиотеки графического процессора MathWorks.

  2. Определить, какие mxArray входные данные содержат данные графического процессора.

  3. Создать mxGPUArray объекты из входных данных mxArray и получить указатели на входные элементы устройства.

  4. Создать mxGPUArray объекты для удержания выходов и получения указателей на элементы вывода на устройстве.

  5. Вызовите функцию CUDA, передав ее указателям устройства.

  6. Оберните выходные данные mxGPUArray как mxArray для возврата в MATLAB.

  7. Уничтожить mxGPUArray созданные объекты.

Файл заголовка, содержащий этот тип: mxGPUArray.h. Он включается в строку:

#include "gpu/mxGPUArray.h"

См. также

gpuArray, mxArray

Представлен в R2013a