MATLAB Executable(MEX)用于在MATLAB环境中直接使用C/C++和FORTRAN代码,以实现更高的运算速度和避免应用瓶颈。我们将C/C++MEX称为c-mex,并且本书为了达到有效利用GPU设备的目的,只关注c-mex。由于c-mex需要创建C/C++可执行代码,而CUDA需要针对硬件(NVIDIA GPU)的代码,所以除了标准的MATLAB安装,还需要额外的安装步骤。首先检查C/C++编译器的安装状况,然后进行CUDA的安装。
1.C/C++编译器
当进行c-mex编程时,MATLAB利用安装在操作系统中的C/C++编译器创建MATLAB可调用的二进制文件。所以你应该知道操作系统中哪个编译器可用,以及编译器的安装位置,并且确保MATLAB版本支持操作系统中的编译器。为此,你可能需要浏览 Mathworks 网站,检查安装 MATLAB 与编译器版本的兼容性,网址为http://www.mathworks.com/support/compilers/R2013a /index.html。通常在Windows中,Microsoft Visual C++编译器cl.exe安装在以下位置 [1] :
●C:\Program Files(x86)\Microsoft Visual Studio x.0\VC\bin 64位操作系统
●C:\Program Files\Microsoft Visual Studio x.0\VC\bin 32位操作系统
在Mac OS X和Linux发行套件中,MATLAB支持gcc/g++编译器,gcc/g++ 编译器的安装位置由Linux发行套件决定,一般安装在以下位置:
●/D eve loper/usr/bi n Ma c OS X
●/usr/l oca l/bi n Linux发行版(www.xing528.com)
你需要核实是否已正确安装编译器,如果编译器安装在其他位置,请记下安装位置。
2.NVDACUDA编译器nvcc
要编译CUDA代码,你需要从NVIDIA网站下载并安装CUDA工具包。这个工具包可以免费获得。CUDA工具包的下载、安装步骤和信息请参考附录A。
nvcc能够翻译CUDA专用代码,并调用C/C++编译器生成可执行的二进制文件或目标文件。因此,同时需要CUDA编译器和C/C++编译器才能创建GPU可执行文件。
需注意的是,我们有必要事先知道编译器的位置以及CUDA运行时库的位置。
很多时候,大多数的编译错误都源于错误定义或者不定义编译器和库的位置。一旦确定了它们的位置,并且在系统环境中相应地设置其路径,那么开始c-mex和CUDA编程将会变得非常容易和顺畅。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。