主要内容

mexcuda

墨西哥人编译函数或PTX文件GPU计算

描述

例子

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

mexcudaMATLAB的延伸吗墨西哥人函数。只有一个子集的编译器支持的万博1manbetx墨西哥人功能的支持万博1manbetxmexcuda。编译器支万博1manbetx持取决于CUDA工具包由MATLAB版本。

例子

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

例子

全部折叠

编译一个简单的墨西哥人函数来创建函数myMexFunction从CUDA c++源文件。

mexcudamyMexFunction.cu

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

编译一个PTX文件从CUDA c++源文件。(因为R2023a)

mexcuda-ptxmyMexFunction.cu

之前R2023a:使用学校网站NVIDIA CUDA工具包的编译器编译PTX文件而不是mexcuda函数。

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

mexcuda- vmyMexFunction.cu

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

mexcudamyMexFunction.cuotherSource1.cppotherSource2.cpp

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

mexcuda- cmyMexFunction.cumexcudamyMexFunction.obj

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

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

mexcuda动态myMexFunction.cu

编译一个墨西哥人函数,利用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++语言源文件

  • 对象文件

  • 库文件

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

数据类型:字符

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

大部分可用的选项墨西哥人支持功能。万博1manbetx此外,还可以使用以下选项。

选项 描述

动态

动态并行性:编译墨西哥人文件定义内核启动其他内核。

-ptx(因为R2023a)

生成一个并行线程执行文件(.ptx)。可以使用生成的PTX文件CUDAKernel直接从MATLAB运行内核。没有编译一个墨西哥人的文件。

- g

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

以下墨西哥人不支持功能选项。万博1manbetx

选项 原因

-compatibleArrayDims

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

所有其他选项墨西哥人是支持万博1manbetxmexcuda。看到的文档墨西哥人获取详细信息。

提示

  • MATLAB的CUDA工具包安装不包含所有可用库CUDA工具包。如果你想使用一个特定的库,用MATLAB没有安装,安装CUDA工具包。你可以检查这MATLAB支持使用CUDA工具包版本万博1manbetxgpuDevice。关于CUDA工具包的更多信息,请参阅安装CUDA工具包(可选)

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

  • 如果你已经安装了CUDA工具包在非默认位置,您可以指定的位置学校网站将其存储在您的系统的环境变量MW_NVCC_PATH。你可以设置这个变量使用MATLABsetenv命令。例如,

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

版本历史

介绍了R2015b