类型为MATLAB gpuArray
mxGPUArray是一种不透明的C语言类型,它允许MEX函数访问MATLAB gpuArray中的元素。使用mxGPU API,您可以在MATLAB gpuArray上执行计算,并将gpuArray结果返回给MATLAB。
所有MEX函数接收输入并将输出作为mxArrays传递。MATLAB中的gpuArray是一种特殊的mxArray,表示存储在GPU上的数组。在MEX函数中,使用mxGPUArray对象访问存储在GPU上的数组:这些对象对应于MATLAB gpuArrays。
mxGPU API包含操作的函数mxGPUArray
对象。这些函数允许您从输入mxArrays中提取mxGPUArrays,将输出mxGPUArrays包装为mxArrays返回到MATLAB,确定数组的特征,并获得指向底层元素的指针。您可以通过将指针传递给自己编写的或外部库中可用的CUDA函数来执行计算。
GPU MEX函数的基本结构是:
调用mxInitGPU
初始化MathWorks GPU库。
确定哪些mxArray
输入包含GPU数据。
创建mxGPUArray
对象。mxArray
参数,并获取设备上的输入元素的指针。
创建mxGPUArray
对象来保存输出,并获取设备上输出元素的指针。
调用一个CUDA函数,将设备指针传递给它。
换行输出mxGPUArray
作为一个mxArray
返回MATLAB。
破坏mxGPUArray
创建的对象。
包含此类型的头文件为mxGPUArray.h
.你把它包括在这行代码中:
# include“gpu / mxGPUArray.h”