文档

mxGPUArray

类型为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函数的基本结构是:

  1. 调用mxInitGPU初始化MathWorks GPU库。

  2. 确定哪些mxArray输入包含GPU数据。

  3. 创建mxGPUArray对象。mxArray参数,并获取设备上的输入元素的指针。

  4. 创建mxGPUArray对象来保存输出,并获取设备上输出元素的指针。

  5. 调用一个CUDA函数,将设备指针传递给它。

  6. 换行输出mxGPUArray作为一个mxArray返回MATLAB。

  7. 破坏mxGPUArray创建的对象。

包含此类型的头文件为mxGPUArray.h.你把它包括在这行代码中:

# include“gpu / mxGPUArray.h”

另请参阅

gpuArraymxArray

在R2013a中引入

这个话题有用吗?