本系列分步记录在win10上搭建CUDA+cudnn+pytorch+YOLOv5+tensorrt等深度学习架构部署及系统搭建,欢迎关注追更!

目录

0.了解CUDA

1.注意事项

1.1显卡驱动

1.2确定关联性

1.2.1显卡驱动与cuda的对应关系:

1.2.2 pytorch与cuda的对应关系

2.cuda安装

2.1、访问CUDA官网、配置自己的下载安装包

2、安装

2.3、配置环境变量(如果想在VS中使用CUDA就得进行这一步)

3、验证

3.1、查看CUDA版本

3.2、查看CUDA的环境变量配置情况


0.了解CUDA

CUDA(Compute Unified Device Architecture)是英伟达公司开发的基于自家显卡的、基于新的并行编程模型和指令集架构的通用计算架构,让用户通过此架构充分利用N卡的GPU进行复杂高效的并行计算,如进行深度学习。

1.注意事项

1.1显卡驱动

桌面空白处右击打开NVDIA控制面板,查询是否出现如下图中控制面板的版本和显卡型号,如有则说明安装了显卡驱动。

而没有则需要安装,下载方法如下:

NVIDIA 驱动程序下载https://www.nvidia.cn/Download/index.aspx?lang=cn

选择一款与服务器显卡适配的驱动,安装指南参考NVIDIA显卡驱动。

1.2确定关联性

用到cuda比较多的是深度学习场景,那么大概率绕不开cudnn、pytorch等深度学习框架的部署,那么就要注意了,正所谓“你的cuda不只是你显卡的,还是cudnn和pytorch的”,这是因为cuda可不能两眼一抹黑就下载最新的,而是要看你的显卡驱动与cuda、pytorch与cuda的对应关系:

1.2.1显卡驱动与cuda的对应关系:

一般是驱动版本决定了能用的CUDA版本的上限,比如新版的显卡驱动可以支持老的CUDA runtime。但是老的显卡可能无法更新到最新的显卡驱动,比如Fermi显卡只能装到391驱动,因此只能用到CUDA9.1。除此之外,显卡硬件与CUDA compute capability相关,当然编译时也可以指定streaming multiprocessor。新的架构支持更多特性就是了。

值得注意的是,每个版本的显卡驱动都有对应的CUDA Driver Version。显卡型号和CUDA Driver Version型号可以通过nvidia-smi查看,CUDA可以向下兼容,以我为例,可以安装12.1以下的版本:

更多版本关系看这里:

CUDA ToolkitLinux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 11.6 Update 2>=510.47.03>=511.65
CUDA 11.6 Update 1>=510.47.03>=511.65
CUDA 11.6 GA>=510.39.01>=511.23
CUDA 11.5 Update 2>=495.29.05>=496.13
CUDA 11.5 Update 1>=495.29.05>=496.13
CUDA 11.5 GA>=495.29.05>=496.04
CUDA 11.4 Update 4>=470.82.01>=472.50
CUDA 11.4 Update 3>=470.82.01>=472.50
CUDA 11.4 Update 2>=470.57.02>=471.41
CUDA 11.4 Update 1>=470.57.02>=471.41
CUDA 11.4.0 GA>=470.42.01>=471.11
CUDA 11.3.1 Update 1>=465.19.01>=465.89
CUDA 11.3.0 GA>=465.19.01>=465.89
CUDA 11.2.2 Update 2>=460.32.03>=461.33
CUDA 11.2.1 Update 1>=460.32.03>=461.09
CUDA 11.2.0 GA>=460.27.03>=460.82
CUDA 11.1.1 Update 1>=455.32>=456.81
CUDA 11.1 GA>=455.23>=456.38
CUDA 11.0.3 Update 1>= 450.51.06>= 451.82
CUDA 11.0.2 GA>= 450.51.05>= 451.48
CUDA 11.0.1 RC>= 450.36.06>= 451.22
CUDA 10.2.89>= 440.33>= 441.22
CUDA 10.1 (10.1.105 general release, and updates)>= 418.39>= 418.96
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54
CUDA 8.0 (8.0.61 GA2)>= 375.26>= 376.51
CUDA 8.0 (8.0.44)>= 367.48>= 369.30
CUDA 7.5 (7.5.16)>= 352.31>= 353.66
CUDA 7.0 (7.0.28)>= 346.46>= 347.62

1.2.2 pytorch与cuda的对应关系

pytorch与cuda的对应关系如下:

官网:Previous PyTorch Versions | PyTorch
CUDA Toolkit版本及可用PyTorch对应关系总结(参考官网)

CUDAToolkit版本可用PyTorch版本
7.50.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6
8.01.1.0,1.0.0 ,0.4.1
9.01.1.0,1.0.1, 1.0.0,0.4.1
9.21.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1
10.01.2.0,1.1.0,1.0.1 ,1.0.0
10.11.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0
10.21.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0
11.01.7.1,1.7.0
11.11.8.0
11.31.12.1,1.12.0,1.11.0,1.10.1,1.10.0,1.9.1,1.9.0,1.8.1,1.8.0
11.61.13.1,1.13.0,1.12.1,1.12.0
11.71.13.1,1.13.0

cuda版本确定后,pytorch要依赖此cuda版本,因为pytroch安装跟cuda对应的,比如下图,torch1.11.0只适配cuda10.2、11.3;不适配cuda10.1等其他版本cuda。

而如果是你之后要用到YOLO的话,此时最好就得下载下来,看看其中的requirements.txt文件,其中也对pytorch版本提出了要求:

我这是 yolov5,其他版本的下载自己去github上拉就好。

2.cuda安装

CUDA toolkit下载

CUDA toolkit下载地址:CUDA Toolkit Archive | NVIDIA Developer

由于不确定最新版的cuda是否可以与pytorch兼容,而且最新的cuda在后续的深度学习中也容易出问题,毕竟在这套架构里并不是每一个软件都能跟cuda进行同步更新并保证可以适配,例如截止到2023年5月7日,cuda已经最新版本是12.1,但pytouch最新版本能够兼容的cuda只有11.8.

为保险起见,我们这里安装11.1的cuda,正如我上面所说,显卡驱动是能够向下兼容低版本的cuda.

2.1、访问CUDA官网、配置自己的下载安装包

因为要下载11.1,所以点击链接:CUDA Toolkit 11.6 Update 1 Downloads | NVIDIA Developer

之后,要找到CUDA之前的存档,具体流程看图:

2、安装

双击安装包,选择合适的路径,即可安装(要记住这个路径,因为可能要配置环境变量)。接下来的过程,用图说话。如果有其他分区,请勿装在C盘,下图只是演示说明。

如果先前进行了cuda的安装,现在要重新安装的,需要将之前的版本卸载之后重新安装,重新安装时不再选择自定义安装,而是选择精简安装。

若之前还未进行过cuda的安装,现在的安装选择自定义:

不要选Visual Studio Integration,即使选了也不能成功安装。

记住以下安装位置,tensorflow要求配置环境

重点提醒:一定要记住这个路径,把这个路径保留下来,后面我们还会用到!!!

安装完成后,鼠标右键此电脑->属性->高级系统设置->环境变量,查看系统变量即可看到红色框选的两项。

或者直接在电脑搜索编辑系统环境变量打开。

查看系统变量中是否添加了路径,如果没有需要自己添加。

2.3、配置环境变量(如果想在VS中使用CUDA就得进行这一步)

我们要是为VS配置CUDA,那就得将剩下的5个环境变量补齐。点击新建,分别输入变量名和变量值,点击确定。大家可以类比我的CUDA安装路径和环境变量的关系进行配置(不是照搬!不是照搬!不是照搬!):%CUDA_PATH%代表的就是CUDA_PATH的路径,我的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1。

CUDA_SDK_PATH #变量名C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1 #变量值CUDA_LIB_PATH #变量名%CUDA_PATH%\lib\x64 #变量值CUDA_BIN_PATH #变量名%CUDA_PATH%\bin #变量值CUDA_SDK_BIN_PATH #变量名%CUDA_SDK_PATH%\bin\win64 #变量值CUDA_SDK_LIB_PATH #变量名%CUDA_SDK_PATH%\common\lib\x64 #变量值

至此,CUDA的安装就完成了。

3、验证

3.1、查看CUDA版本

键盘win+R键,输入cmd,并回车,打开CMD命令框。输入如下命令:

nvcc --version

只要显示了CUDA的版本,就算成功了! (保险起见多验证几步)

3.2、查看CUDA的环境变量配置情况

键盘win+R键,输入cmd,并回车,打开CMD命令框。输入如下命令:

set cuda

如果没有进行步骤中2.3的变量添加的话,那么得到的界面信息应该是下面这样

C:\Users\as>nvcc --versionnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2021 NVIDIA CorporationBuilt on Mon_May__3_19:41:42_Pacific_Daylight_Time_2021Cuda compilation tools, release 11.1, V11.1Build cuda_11.1.r11.3/compiler.29920130_0C:\Users\as>set cudaCUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1CUDA_PATH_V11_3=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1

cuda安装成功!

参考文章:

https://blog.csdn.net/GenuineMonster/article/details/116596761

https://blog.csdn.net/RunAtWorld/article/details/124282176?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168337979916800211560390%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168337979916800211560390&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-124282176-null-null.142^v86^insert_down1,239^v2^insert_chatgpt&utm_term=win10%E5%AE%89%E8%A3%85cuda&spm=1018.2226.3001.4187