参考链接
本人学习使用,侵权删谢谢。
用人话讲解深度学习中CUDA,cudatookit,cudnn和pytorch的关系
CUDA
CUDA是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。
我们可以通过nvidia-smi
命令查看cuda版本号。
如上图所示,这里显示的是当前显卡可支持的最高
CUDA版本。
CUDA Toolkit
CUDA Toolkit可以理解成一个工具包,主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。
cudatookit版本有时会被简称为cuda版本
,这也是我们经常搞混的一个原因。
cuDNN
cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库
。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式。
简单来说,cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
Pytorch
pytorch是基于CUDA的深度学习框架,因此,pytorch的版本必须依赖于cuda toolkit
的版本。
小总结
CUDA看作是一个工作台,
上面配有很多工具,如锤子、螺丝刀等。cuDNN
是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具
,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
总结一下
,食物链顶端的是CUDA这个工作台,也就是我们电脑的硬件配置,我们要先查看它的版本,然后根据这个来看我们都能下载多高的cudatookit版本,然后根据cudatookit版本来选择cudnn版本和可支持的pytorch版本
因此配置环境的流程为:
查看CUDA版本 ——> 选择cudatookit版本 ——> 选择cudnn版本 + pytorch版本