matlab 2019b安装CT重建包TIGRE 踩坑记录与解决方案(内含显卡型号与驱动以及CUDA对应关系,VS2019安装,MinGW C++安装)

gitee项目:https://gitee.com/hhj960714/TIGRE
github项目下载地址:https://github.com/CERN/TIGRE/archive/master.zip

1. 安装需要准备

1.0 总览

下图是官方测试过的工具:
在这里插入图片描述
以下是本文用的工具:
win10 + MATLAB2019b + CUDA10.2 CUDA11.6 + VS2015 VS2019 +【dev C++和MinGW C++ 6.4.0】


修正:实际上
3090算力8.6,CUDA10.2不行,所以我换了11.6(11+版本应该都可以),然后对应的VS2015就不行了,所以我换了VS2019.


1.1 MATLAB

我从学校官网下的,给你们地址你们没有账号也下载不了,所以自行准备。
这里我用的是MATLAB R2019b,相信其他版本也可以。

1.2.0 Make sure you install C++

这里我直接下载了一个dev C++,我觉得这个安装C++是我最喜欢的方式,简单。
dev C++安装包下载地址

后面matlab用mex -setup 选择编译器的时候还需要安装MinGW C++。
注意下图MATLAB官方文档这里给的版本对应。
在这里插入图片描述

当然他给的地址,我是用不习惯,选择什么的感觉都不方便,这里提供一个MinGW的官方地址:
MinGW C++ 下载地址
下拉找到对应版本,我选择的是这个,64位,win32通道,seh方式安装的绿色包。
下载下来直接就是安装好的zip包,放到自己能记住的位置(平时安装软件最好放到一个地方)就可以。
在这里插入图片描述
【因为我不知道他到底是要一个C++还是在后面的matlab里面需要的MinGW C++,所以我两个都装了】

1.2 Visual Studio

社区版(Community)够用。版本我推荐2015。本文也以2015为例说明 本文后面换成了VS2019
版本问题: 拒绝VS2017。
gitee上的项目仅有适配VS 2013和VS 2015的CUDA程序,github上又加了2019和2022的CUDA程序。自行查看,不多解释。
VS 2019下载地址:VS2019安装包下载
在这里插入图片描述

1.3 CUDA安装

官方用的是CUDA9.2,但是当时比较早了,所以随着更新换代CUDA9.2已经不能满足了,每一台计算机应该选择的版本都不一样,按照下面的步骤查询满足要求即可。

1.3.1 显卡型号与对应算力查询

  1. 任务管理器查看显卡型号
    在这里插入图片描述
  2. NVIDIA GPU算力查询地址,查询GPU算力,3060-3090都对应8.6,对应CUDA是11.+
    在这里插入图片描述

1.3.2 显卡驱动版本与CUDA版本对应查询

  1. 查显卡驱动:打开cmd命令行输入命令nvidia-smi
    在这里插入图片描述
  2. 查显卡驱动版本与CUDA版本与算力对应关系查询:显卡驱动与CUDA匹配关系
    在这里插入图片描述
    继续往下滑有更详细的版本对应关系
    在这里插入图片描述

1.3.3 CUDA toolkit下载

  1. CUDA toolkit各版本下载地址

1.3.4 matlab与CUDA对应

  1. 补充一个matlab对应关系,不过这个基本上都能对应得上。
    在这里插入图片描述

1.4 TIGRE下载

github下载地址
自行下载源代码,放到自己习惯的位置。

1.5 汇总

下图是官方测试过的工具:
在这里插入图片描述

以下是本文用的工具:
win10 + MATLAB2019b + CUDA10.2 CUDA11.6 + VS2015 VS2019 +【dev C++和MinGW C++ 6.4.0】

2. 开始配置环境

打开MATLAB

2.1 测试VS是否正确安装

在MATLAB命令行里:

mex -setup -v

确保选中的这三行存在,之前之后的搜索无所谓。没有就说明你VS装的有问题,可能是装之前没安装好C++。
在这里插入图片描述
然后在最下面选择C++ 作为编译语言(点一下就行):
在这里插入图片描述

2.2 检查MATLAB是否能找到VS和CUDA

同样是MATLAB命令行:

检查CUDA路径:

getenv('CUDA_PATH')

检查VS路径:
① VS2013输入这个:

getenv('VS120COMNTOOLS')

② VS2015或者更新的输入这个:

getenv('VS140COMNTOOLS')

末尾不要加分号会直接打印出来,末尾加分号了的话就会在变量空间里。
在这里插入图片描述

打印不出来的话就自行去添加环境变量就行(变量值记得放自己的地址)。
在这里插入图片描述
下面同理:
在这里插入图片描述
或者你会用setenv(name,folder)命令就直接通过matlab添加环境变量也行。
添加完记得重启matlab。

2.3 重命名对应版本的mex_CUDA

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 11.6不 ? 官方源代码默认的是9.1
所以,要对应修改过来,分别是第6行和末尾有个nvcc的位置,后者不同文件不一样的位置。
比如有可能在125行,有可能在222行,也有可能在266行
在这里插入图片描述
而15的那个是在222行:
在这里插入图片描述
在这里插入图片描述
改了就行了,不然会提示找不到编译器,当然了版本对应不上同样会提示找不到编译器。

3 编译和初始化

3.1 编译

找到下载的TIGRE包下面的MATLAB\Compile.m ,运行会自主编译,
或者再MATLAB命令行里运行:

Compile

时间较长,中间有如下之类警告不用管,编译完成后就可以了。
在这里插入图片描述

3.2 初始化

还是MATLAB命令行:

InitTIGRE

在这里插入图片描述
OK了,警告统统无视就完事了。
运行demo:

IGRE/MATLAB/Demos/d03_generateData.m

成功即可。

4 QA(有问题多交流!)

4.2 2023.05.15补充问题(解答的大部分问题都是这个)

其实在4.1里面说了的。
显卡型号,对应的算力,对应的CUDA版本,大部分mex不成功的时候都是这个算力与CUDA没对应上。
1.3节找答案

4.1 no kernel image is available for execution on the device

没有可用于在设备上执行的内核映像:
在这里插入图片描述
这就是cuda toolkit版本不满足显卡算力导致:调高cuda版本即可。重回1.3节
NVIDIA GPU算力查询地址

哦对了cuda tooklit11.6可能不支持2015,我换成11.6之后就有这个报错,只能找17和19。
在这里插入图片描述
于是我把VS换成了2019,嗯,记得勾选这个:
在这里插入图片描述
否则,你的VS2019就会没有VC,从而还是加载不到:
在这里插入图片描述
改完环境记得从第二章再重新走一遍。

您好!要安装MATLAB 2019b,请按照以下步骤进行操作: 1. 首先,从MathWorks官方网站(www.mathworks.com)下载MATLAB安装程序。您可能需要创建一个MathWorks账户。 2. 运行下载的安装程序。在安装向导中,选择"Install"(安装)选项。 3. 在接受许可协议后,选择您要安装MATLAB版本。选择完毕后,点击"Next"(下一步)。 4. 在许可证密钥页面上,选择使用一个许可证文件或输入许可证密钥。如果您有一个许可证文件,选择"Browse"(浏览)并选择该文件。如果没有许可证文件,请选择"Enter the full path to your License File"(输入许可证文件的完整路径)并输入许可证密钥。点击"Next"(下一步)。 5. 在选择安装类型页面上,选择完整安装或自定义安装。如果您想使用所有MATLAB功能,选择完整安装。如果您只需要特定的功能,请选择自定义安装并选择所需的功能。点击"Next"(下一步)。 6. 在选择安装位置页面上,选择您要安装MATLAB的位置。您可以使用默认位置或选择其他位置。点击"Next"(下一步)。 7. 在确认安装页面上,查看您选择的选项。如果一切都正确,点击"Install"(安装)开始安装过程。 8. 安装过程可能需要一些时间,请耐心等待。 9. 安装完成后,您可以选择启动MATLAB,也可以稍后手动启动。 以上是MATLAB 2019b安装过程。希望对您有所帮助!如果您有任何其他问题,请随时提问。
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值