本系列分步记录在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 Toolkit | Linux x86_64 Driver Version | Windows 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.5 | 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6 |
8.0 | 1.1.0,1.0.0 ,0.4.1 |
9.0 | 1.1.0,1.0.1, 1.0.0,0.4.1 |
9.2 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1 |
10.0 | 1.2.0,1.1.0,1.0.1 ,1.0.0 |
10.1 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0 |
10.2 | 1.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.0 | 1.7.1,1.7.0 |
11.1 | 1.8.0 |
11.3 | 1.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.6 | 1.13.1,1.13.0,1.12.1,1.12.0 |
11.7 | 1.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 --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:41:42_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.1, V11.1
Build cuda_11.1.r11.3/compiler.29920130_0
C:\Users\as>set cuda
CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
CUDA_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