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 函数的基本结构是:
调用
mxInitGPU初始化 MathWorks GPU 库。确定哪些
mxArray输入包含 GPU 数据。从输入的
mxGPUArray参量创建mxArray对象,并获取指向设备上输入元素的指针。创建
mxGPUArray对象来保存输出,并获取指向设备上输出元素的指针。调用 CUDA 函数,并将设备指针传递给它。
将输出
mxGPUArray包装为mxArray以返回到 MATLAB。销毁您创建的
mxGPUArray对象。
包含此类型的头文件是 mxGPUArray.h。您将其包含在以下行中:
#include "gpu/mxGPUArray.h"
版本历史记录
在 R2013a 中推出