主要内容

mexcuda

编译MEX-function GPU计算

描述

例子

mexcuda文件名源文件编译和链接到一个共享库称为MEX-file, MATLAB中执行®。使用CUDA写函数编译mex files®与NVIDIA c++框架®学校网站编译器,允许文件定义和启动GPU内核。此外,mexcuda函数暴露了GPU墨西哥人API允许MEX-file gpuArrays读写。

mexcudaMATLAB的延伸吗墨西哥人函数。只有一个子集的编译器所支持金宝app墨西哥人支持金宝appmexcuda。编译器支金宝app持取决于CUDA工具包由MATLAB版本。

例子

mexcudaoption1……optionN文件名建立与指定的构建选项。的option1……optionN参数的补充或覆盖默认的mexcuda构建配置。您可以使用可用的选项墨西哥人mexcuda

例子

全部折叠

编译一个简单的MEX-function创建函数myMexFunction从CUDA c++源文件。

mexcudamyMexFunction.cu

源文件可在一个例子matlabroot/工具箱/并行/ gpu /走读生/ src /墨西哥人/ mexGPUExample.cu

使用详细模式显示编译和链接的命令和其他信息用于故障诊断。

mexcuda- vmyMexFunction.cu

用一个命令编译和链接多个源文件。

mexcudamyMexFunction.cuotherSource1.cppotherSource2.cpp

首先编译,然后链接创建一个函数。

mexcuda- cmyMexFunction.cumexcudamyMexFunction.obj

第一行编译myMexFunction.obj(Windows®)或myMexFunction.o(UNIX®),第二个链接来创建函数myMexFunction

编译代码,使用动态并行性,定义内核启动其他内核。

mexcuda动态myMexFunction.cu

编译一个MEX-function利用CUDA图像基元库,npp,这是安装在C:\Program Files\NVIDIA GPU计算工具包\ CUDA \ v7.5 \ lib \ x64 \ nppi.lib

mexcudalc: \程序文件\ NVIDIA GPU计算工具包\ CUDA \ v7.5 \ lib \ x64的-lnppimyMexFunction.cu

输入参数

全部折叠

一个或多个文件名,包括名称和文件扩展名,指定为一个特征向量。如果文件不在当前文件夹,指定文件的完整路径。文件名称可以任意组合:

  • C或c++语言源文件

  • 对象文件

  • 库文件

第一个源代码文件中列出文件名是二进制MEX-file的名称。要覆盖此命名约定,可以使用与产出的选择。

数据类型:字符

一个或多个构建选项,指定这些值。选项可以在任何顺序出现在任何平台,除外。

大部分可用的选项墨西哥人支持功能。金宝app此外,还可以使用以下选项。

选项 描述

动态

动态并行性:定义内核启动其他内核编译mex files。

- g

为设备代码生成调试信息。这一步可以通过内核代码在调试程序的NVIDIA的逐行(NSight或cuda-gdb)。启用调试主机代码使用- g

以下墨西哥人不支持功能选项。金宝app

选项 原因

-compatibleArrayDims

使用MATLAB large-array-handling API是隐式的,不能覆盖。

所有其他选项墨西哥人是支持金宝appmexcuda。看到的文档墨西哥人获取详细信息。

提示

  • 如果CUDA工具包没有发现或不受支持的版本,MATLAB编译使用NVIDIA的CUDA代码金宝app学校网站用MATLAB编译器安装。检查该编译器mexcuda使用,使用- v国旗的详细输出mexcuda命令。

  • MATLAB的CUDA工具包安装不包含所有可用库CUDA工具包。如果你想联系一个特定的库,与MATLAB没有安装,安装CUDA工具包。你可以检查CUDA工具包MATLAB版本需要使用gpuDevice。关于CUDA工具包的更多信息,请参阅CUDA工具包的需求

  • 如果mexcuda问题定位了NVIDIA编译器(学校网站)在你安装CUDA工具包,它可能被安装在一个非缺省位置。您可以指定的位置学校网站将其存储在您的系统的环境变量MW_NVCC_PATH。你可以设置这个变量使用MATLABsetenv命令。例如,

    setenv (“MW_NVCC_PATH”,“/ usr /地方/ CUDA / bin”)

版本历史

介绍了R2015b