- 1. 安装需要准备
- 1.0 总览
- 1.1 MATLAB
- 1.2.0 Make sure you install C++
- 1.2 Visual Studio
- 1.3 CUDA安装
- 1.4 TIGRE下载
- 1.5 汇总
- 2. 开始配置环境
- 2.1 测试VS是否正确安装
- 2.2 检查MATLAB是否能找到VS和CUDA
- 2.3 重命名对应版本的mex_CUDA
- 3 编译和初始化
- 3.1 编译
- 3.2 初始化
- 4 QA(有问题多交流!)
gitee项目:https://gitee.com/hhj960714/TIGRE
github项目下载地址:https://github.com/CERN/TIGRE/archive/master.zip
下图是官方测试过的工具:
以下是本文用的工具:
win10 + MATLAB2019b + CUDA10.2 + VS2015 +【dev C++和MinGW C++ 6.4.0】
我从学校官网下的,给你们地址你们没有账号也下载不了,所以自行准备。
这里我用的是MATLAB R2019b,相信其他版本也可以。
这里我直接下载了一个dev C++,我觉得这个安装C++是我最喜欢的方式,简单。
dev C++安装包下载地址
后面matlab用mex -setup 选择编译器的时候还需要安装MinGW C++。
注意下图MATLAB官方文档这里给的版本对应。
当然他给的地址,我是用不习惯,选择什么的感觉都不方便,这里提供一个MinGW的官方地址:
MinGW C++ 下载地址
下拉找到对应版本,我选择的是这个,64位,win32通道,seh方式安装的绿色包。
下载下来直接就是安装好的zip包,放到自己能记住的位置(平时安装软件最好放到一个地方)就可以。
【因为我不知道他到底是要一个C++还是在后面的matlab里面需要的MinGW C++,所以我两个都装了】
社区版(Community)够用。版本我推荐2015。本文也以2015为例说明
版本问题: 拒绝2017。
gitee上的项目仅有适配VS 2013和VS 2015的CUDA程序,github上又加了2019和2022的CUDA程序。自行查看,不多解释。
VS 2015下载地址:VS2015安装包下载
这里我选择的是:Visual Studio Community 2015 with Update 3 【64位,简体中文,DVD】
CUDA toolkit各版本下载地址
官方文档用的9.2,所以9.2应该是更方便的,这里我使用的是10.2,后面需要改一些东西,到时候再说。
具体的安装需要什么自行去检索,反正也不麻烦,我当时是跟着cudnn等一起安装的,所以可能会有一些细节我不记得,就不过多说了。
1.4 TIGRE下载github下载地址
自行下载源代码,放到自己习惯的位置。
下图是官方测试过的工具:
以下是本文用的工具:
win10 + MATLAB2019b + CUDA10.2 + VS2015 +【dev C++和MinGW C++ 6.4.0】
打开MATLAB
2.1 测试VS是否正确安装在MATLAB命令行里:
mex -setup -v
确保选中的这三行存在,之前之后的搜索无所谓。没有就说明你VS装的有问题,可能是装之前没安装好C++。这里我师兄先前安装的VS2017所以我研究过一些,有问题可以找我交流。
然后在最下面选择C++ 作为编译语言(点一下就行):
同样是MATLAB命令行:
检查CUDA路径:
getenv('CUDA_PATH')
检查VS路径:
① VS2013输入这个:
getenv('VS120COMNTOOLS')
② VS2015或者更新的输入这个:
getenv('VS140COMNTOOLS')
末尾不要加分号会直接打印出来,末尾加分号了的话就会在变量空间里。
打印不出来的话就自行去添加环境变量就行(变量值记得放自己的地址)。
或者你会用setenv(name,folder)命令就直接通过matlab添加环境变量也行。
添加完记得重启matlab。
Rename either mex_CUDA_win64_MVS2013.xml (Visual Studio 2013 or older)
or mex_CUDA_win64_MVS2015.xml(Visual Studio 2015 or newer) to
mex_CUDA_win64.xml
比如我是VS2015版本,我就将mex_CUDA_win64_MVS2015.xml重命名为mex_CUDA_win64.xml。
13版本就去改那个mex_CUDA_win64_MVS2013.xml哈,禁止碰瓷。
同时!
记得我先前CUDA版本是10.2不 ? 官方源代码默认的是9.1
所以,要对应修改过来,分别是第6行和末尾有个nvcc的位置,后者不同文件不一样的位置。
比如13的那个是在125行:
而15的那个是在222行:
改了就行了,不然会提示找不到编译器。
找到下载的TIGRE包下面的MATLABCompile.m ,运行会自主编译,
或者再MATLAB命令行里运行:
Compile
时间较长,中间有如下之类警告不用管,编译完成后就可以了。
还是MATLAB命令行:
InitTIGRE
OK了
运行demo:
IGRE/MATLAB/Demos/d03_generateData.m
成功即可。
4 QA(有问题多交流!)


