呃,大家都知道哈,现在nVIDIA显卡的计算能力那是越来越强大了,不利用一下岂不是可惜了,尤其是现在Fermi大大加强了双精度计算能力之后,N卡+Matlab已经变成了我们解决数理问题的强大工具(计算速度可加快数十倍),但是应该如何使用呢……
Matlab版本:2010a (注:matlab版本需比vs高)
编译环境:Microsoft Visual Studio 2008
硬件需求: gpu显卡一块
先从http://developer.nvidia.com/object/matlab_cuda.html网址上下载NVMEX的源码(cudaWhitePaper.zip),解压。
打开nvmex.m的文件,找到
CUDA_LIB_Location = ‘C:\CUDA\lib’; Host_Compiler_Location = ‘-ccbin "C:\Program Files\Microsoft Visual Studio 8\VC\bin"‘;
将上面的部分改成自己本机的实际文件路径。修改之后,将其复制到你所要编译的文件目录下,例如:addMatrix.cu目录,并将此目录设置为matlab运行目录,在命令窗口输入:
>> nvmex(‘addMatrix.cu’); 将其替换成自己的文件名,编译时会有一个错误,错误指向 [ ~,filename,] = fileparts(cuFileName);
提示是符号不匹配,此时将此段代码注释掉或删掉,替换成
[pathstr, filename, ext, versn] = fileparts(cuFileName)
即可完成编译。
编译成功后,在matlab中即可像常规函数一样使用函数(addMatrix)。
注:.cu文件时cuda的源文件,此外.o文件时vs编译时产生的文件
按照上例 你就可以在matlab中自由调用CUDA的函数来加速计算了 ……实际效果还是很好很强大的