【深度学习环境配置】一文弄懂cuda,cuDNN,NVIDIA Driver version,cudatoolkit的关系
- NVIDIA Driver version(NVIDIA驱动程序)
- CUDA
- cuDNN
- cudatoolkit
- 深度学习环境配置顺序
今天突然发现配置的环境有些问题,意识到对于cuda,cuDNN,NVIDIA Driver version,cudatoolkit的关系理解不够透彻,特记录一下
【注】:本文的前提在于要有Nvidia的独显GPU,本文的图片一部分来自我之前在windows下配置的博客配置深度学习环境:在Windows(Win10)中安装CUDA,CUDNN,Pytorch GPU版,另一部分为ubuntu下配置截取的
NVIDIA Driver version(NVIDIA驱动程序)
- NVIDIA驱动程序(NVIDIA Driver)是安装在计算机上的软件,用于管理NVIDIA GPU的运行和功能。它是连接操作系统与GPU之间的桥梁,负责驱动GPU的操作,并提供对GPU硬件的访问接口。
- windows下查看NVIDIA Driver version版本方法为:桌面 --》 鼠标右键 --》NVIDIA控制面板–》系统信息–》组件 --》NVCUDA64.DLL 在产品名称栏
- **Ubuntu下查看NVIDIA Driver version版本方法为:应用菜单栏–》软件和更新–》附加驱动 525即是我的驱动版本 **
- ubuntu安装nvidia driver显卡驱动可查看这里3分钟安装ubuntu20.04显卡驱动
nvidia-smi
用于查询和监控NVIDIA GPU的状态和信息。它可以显示诸如GPU型号、驱动程序版本、GPU使用率、温度、显存使用情况等信息。- 使用命令
nvidia-smi
也可查看driver版本,525.125.06我安装的具体版本 - 使用命令
nvidia-smi
看到的CUDA Version,是指该NVIDIA驱动程序所支持的最高CUDA版本,下图显示的即为支持的最高CUDA版本为12.0
- CUDA提供了两种API,分别是运行时API(CUDA Runtime API)和驱动API(Driver API)
- 驱动API(Driver API)的版本对应nvidia-smi显示的CUDA Driver结果(该NVIDIA驱动程序所支持的最高CUDA版本)
- 运行时API(CUDA Runtime API)对应于
nvcc -V
显示的结果 - 一般情况下,
nvcc -V
显示的版本号是小于等于nvidia-smi
所显示的cuda版本,这就是二者显示版本不一致的原因所在
CUDA
- CUDA(Compute Unified Device Architecture)是由NVIDIA开发的一种并行计算平台和编程模型,它允许开发者使用NVIDIA的GPU(图形处理单元)进行高性能的计算操作。
- CUDA为开发者提供了一套扩展的C/C++编程语言,使得他们能够在GPU上实现并行计算,从而显著加速科学计算和图形渲染等任务。
- 通常情况下,当提到CUDA时,指的是CUDA Runtime版本。CUDA Runtime是一组库和工具,用于在应用程序中进行并行计算,提供了一系列API和函数,用于在NVIDIA GPU上执行并行计算任务。
- CUDA Runtime的版本通过
nvcc -V
查询 - 选择安装的CUDA Runtime版本取决于显卡GPU的算力和NVIDIA Driver version显卡驱动版本
- 显卡算力与CUDA Runtime的对应关系 请查看这里,先搜索显卡型号查找算力,再根据算力选择CUDA Runtime
-
查看自身显卡的算力,在此网站中搜索显卡型号,可以看到我显卡对应的算力是7.5
-
该网站的后面有CUDA版本和算力的对应关系,查看显卡算力支持的CUDA版本
- 算力7.5支持的CUDA版本有10.0-10.2,11.0,11.1-11.4,11.5–11.7.1,11.8,12.0
- CUDA Runtime版本与NVIDIA Driver version显卡驱动版本的关系,请查看这里
- ubuntu下安装的cuda,一般在/usr/local下的cuda路径下
- cuda官网下载地址CUDA Toolkit Archive
cuDNN
- cuDNN(CUDA Deep Neural Network library)是由NVIDIA提供的一个用于深度学习的GPU加速库。它包含了一系列针对深度神经网络的优化算法和函数,能够大幅提升深度学习模型的训练和推理速度
- cuDNN已经被集成在Pytorch中,无需单独安装,但是如果需要从源码编译就还是需要安装cuDNN,具体链接如下
- cuDNN官网下载链接
写这篇文章的起因就是突然发现自己没有安装cuda,cudnn,在安装了pytorch gpu版之后也可以使用gpu运行代码
https://discuss.pytorch.org/t/how-to-check-if-torch-uses-cudnn/21933/3
这篇帖子解释了原因,但我个人觉得cuda runtime还是要安装的
cudatoolkit
- CUDA Toolkit是用于开发和优化CUDA应用程序的软件开发工具包。它包含了一系列的工具、库和文档,以及与硬件驱动程序和其他库(如cuDNN、cuBLAS等)兼容的开发环境
- 在安装pytorch的时候,通常后面都会跟着安装 cudatoolkit
- CUDA Toolkit提供了必要的工具和库,使PyTorch能够与GPU进行交互,并在GPU上执行计算任务
- CUDA Toolkit使PyTorch能够利用GPU的并行计算能力,加速模型的训练和推理过程,从而提高效率和性能
深度学习环境配置顺序
- **安装显卡驱动NVIDIA Driver **
- 根据显卡算力和NVIDIA Driver version显卡驱动版本选择适合的CUDA runtime版本
- 安装CUDA runtime,cuDNN可跳过不进行安装
- 安装anaconda
- 创建虚拟环境
- 安装pytorch/tensorflow等深度学习框架