首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CUDA代码创建mex文件

从CUDA代码创建mex文件
EN

Stack Overflow用户
提问于 2013-06-14 17:04:18
回答 2查看 3.9K关注 0票数 2

我有Windows XP 64位,MATLAB R2012a(这里也有R2010a,但没有安装),VS2010(VS2008/VS2012也有,但没有安装)和CUDA5.0。

有没有可能在MATLAB中用这些编译CUDA代码来创建mex文件?是否有人可以帮助完成必要的步骤或需要进一步安装的任何东西??

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2013-08-08 15:21:05

我建议使用Compiling CUDA mex files with Visual Studio中的过程

配置: Matlab 2010a,Visual Studio2010,英特尔64位计算机。

  1. 文件MFC新建项目
  2. 选择→DLL以及项目的名称和位置

选择OK

  • 选择Next

  • 选择Finish (do not change any selection)

  • Solution

  • Right click on the project's Name mexFunction Build Customizations 5.0→OK C++ .cpp

  • Add New Item;Choose C++

(

  • );为文件选择一个名称并添加#

“stdafx.h”行;当然,包括"mex.h“和,等作为包含上述包含行下的mexFunction的代码→这个.cpp文件应该只包含CPU端代码,即mex函数和其他C++函数。请注意,mex函数以及C++函数不应包含内核函数调用(不允许使用<<< >>>语法);内核调用应包含在此.cpp文件中声明为外部"C“的”包装函数“中,然后在.cu文件中定义(参见next point)

  • Project文件添加新项;选择.cu→(.cpp);为文件选择名称,但使用.cu扩展名;此.cu文件应包含所需的全局以及到.def文件

的以下行的device

库"TestMex“导出mexFunction

将TestMex替换为.cpp文件的名称

项目文件属性→配置属性→C/C++ &rarr常规→附加包括目录→Add C:\Program →属性→配置属性→链接器&rarr常规→Program→属性→配置属性→链接器&rarr输入→附加依赖项→C:\Program rarrC:\ Win32

  1. Project Files\MATLAB\R2010a\extern\lib\win64\microsoft\libmx.lib
  2. Project→属性→配置属性..\x64\Debug

x64 C/C++ &rarr Device→Choose your compute cudart.lib

  • The→Properties→Configuration Properties→Configuration→→Active Solution Platform→从Program→→属性→Configuration Properties→Linker &rarr Input→Add Dependencies→Add CUDA directory包含已编译的mex库的其他依赖项→

你可以在attached Visual Studio 2010 project中找到一个设计好的例子。

该过程已经在CUDA 5.0、Visual Studio 2010和Matlab 2010a/2012b上进行了测试,但使用上述产品的其他版本的人可能也会对此感兴趣。

票数 1
EN

Stack Overflow用户

发布于 2015-11-13 02:28:22

我注意到在Matlab2015b中,你可以像下面这样编译.cu文件:

代码语言:javascript
复制
mexcuda XXX.cu

我已经用了一段时间了,而且更简单!希望这能对你有所帮助,尽管它可能不会有太大帮助,因为你没有使用2015b。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17104884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档