1.电脑为win7 64位操作系统,MATLAB版本为R2014b,vs版本为2008
2.亲测vs2008使用cuda5.0可行,
下载地址:https://developer.nvidia.com/cuda-toolkit-50-archive
下载之后直接双击安装。安装之后,桌面出现以下图标:
3.双击运行后可以看到一堆example,运行其中一个,如果能成功则cuda安装成功。
在运行过程中,提示缺失文件cudart64_50_35.dll,版本问题,网上搜索下载一个放入下列文件夹内:
Windows XP/2003/vista/2008/7/8/2012:X:\Windows\system32 (32 位)或 X:\Windows\sysWOW64 (64 位)
即可正常运行示例。
4.vs2008环境配置
打开vs2008,【工具】-【选项】-【项目和解决方案】-【VC++目录】-【包含文件】添加 C:\Program Files\NVIDA GPU Computing Toolkit\CUDA\v5.0\include,【库文件】添加C:\Program Files\NVIDA GPU Computing Toolkit\CUDA\v5.0\lib
【工具】-【选项】-【项目和解决方案】-【VC++项目设置】-【C/C++文件扩展名】添加上*.cu +【包括的扩展名】添加上.cuh
【工具】-【选项】-【文本编辑器】-【文件扩展名】在扩展名编辑框中输入cu,编辑器选择Microsoft Visual C++,然后点击“添加”,之后“确定”
5.打开vs2008,新建项目,设置如下确定后可得到CUDA中的"hello world"工程
运行可得
6.matlab2014b配置vs2008
mex-setup
电脑本身已安装了vs2008,但MATLAB死活找不到,只找得到Microsoft Windows SDK 7.1 (C++)
没办法,摸索了半天,去微软官网下载了一个支持vs2008的Microsoft Windows SDK 6.1,重新mex,抽风的matlab终于能够找到vs2008了
7.简单的测试
在matlab中新建‘hellomex.cpp’
#include "mex.h"
void mexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[])
{
mexPrintf("Hello, mex!\n");
}
然后mex hellomex.cpp,成功的话,出现以下结果
输入hellomex,出现以下结果