主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

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 中推出