1.什么是CUDA,什么是CUDNN
(1)什么是CUDA
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
(2)什么是CUDNN
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
(3)CUDA与CUDNN的关系
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。
想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
参阅该篇博客
2.在配置pytorch虚拟环境中遇到的问题
(1)如何查看电脑能够支持的最高cuda版本
1)鼠标右键,点击NVIDIA控制面板
2)打开左下角系统信息,切换到组件
(2)在pytorch的虚拟环境中,输入 “torch.cuda.is_available()”,返回true,表示能够使用gpu版的pytorch,但如果在运行程序的过程中出现"GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.",这表示显卡的算力超出了pytorch虚拟环境中cuda支持的算力,此时需要提高cuda的版本
可参阅该篇博客
(3)在配置pytorch虚拟环境前如何选择cuda以及pytorch版本
1)通过(1)可知,在虚拟环境中安装的cuda版本不能大于此版本
2)通过(2)可知,虚拟环境中cuda版本支持的算力应大于等于显卡的算力
不同cuda支持的计算能力情况
不同算力对应显卡列表
3)通过1)、2)确定cuda版本后,根据NVIDIA驱动版本与CUDA版本的对应关系查看是否需要更新自己的显卡驱动
NVIDIA驱动版本与CUDA版本对应关系
4)通过1)、2)确定cuda版本后,根据cuda与pytorch对应的关系确定pytorch版本
5)根据4)的版本在pytorch官网匹配pytorch的下载命令
PyTorch中torch、torchvision、torchaudio版本对应关系
3.在安装gpu—pytorch中遇到的问题
(1)安装gpu版的pytorch时能够自动安装cuda和cudnn吗
通过命令行会自动将需要的cudatoolkit安装好,不需要单独去在网上搜索怎样安装cuda和cudnn
可参阅该篇博客
(2)电脑会自带cuda吗
一般来说显卡正常工作的话会对应一个cuda版本,系统中的初始cuda也是别人装的
可参阅该篇博客