CUDA,CUDNN,Pytorch-gpu之间联系

1.显卡

显卡

显卡包含 GPU,而 GPU 是提供核心计算处理图像信息能力的组件。在显卡中,GPU 负责执行各种图形处理任务,例如图像渲染、视频解码、游戏图形处理等。因此,GPU 是显卡中最关键的部分,它决定了显卡的性能和功能。ex:1650Ti指的是显卡型号。

2.CUDA

CUDA(Compute Unified Device Architecture)是 NVIDIA 开发的一种并行计算平台和编程模型,用于利用 NVIDIA GPU 进行通用目的的并行计算。CUDA 并不是 GPU 的替代品,而是一种利用 GPU 进行并行计算的框架和工具集。

CUDA 是一种编程模型和平台,用于利用 GPU 进行通用目的的并行计算,而 GPU 则是 CUDA 平台的硬件支持。CUDA 提供了一套 API 和工具,使开发人员能够利用 GPU 的并行计算能力进行高性能计算任务,如科学计算、机器学习、深度学习等。

GPU 是硬件,而 CUDA 是一种软件框架,它们之间的关系是 CUDA 利用 GPU 的硬件并行计算能力来实现高性能计算。类似的,CUDA是C或者C++,而GPU是CPU。

3.CUDNN

cuDNN(CUDA Deep Neural Network library)是 NVIDIA 提供的深度学习加速库,是建立在 CUDA 平台上的一个专门用于深度学习任务的库。cuDNN 是建立在 CUDA 平台上的一个专门用于深度学习的加速库。它提供了针对深度学习任务的高效 GPU 加速的实现,包括卷积神经网络 (CNN) 和循环神经网络 (RNN) 等常见的深度学习模型。cuDNN 的出现极大地加速了深度学习模型的训练和推理过程,使得深度学习任务在 GPU 上能够获得更高的性能。CUDA 提供了底层的 GPU 并行计算能力和编程模型,而 cuDNN 则是建立在 CUDA 平台之上,专门用于深度学习任务加速的库。cuDNN 在 CUDA 的基础上进一步提供了针对深度学习任务的高效实现,使得深度学习在 NVIDIA GPU 上的应用更加高效。

下面介绍如何查看或者安装CUDA driver。在CMD中, Nvidia-smi可以查看最高可以安装什么版本的CUDA driver version,注意这个命令的输出代表安装了的CUDA driver version,不是CUDA runtime version。若没显示cuda版本,则需要区去官网下载显卡驱动,官网链接

命令

 

Pytorch-GPU

Pytorch-gpu自带cuda和cudnn,只需要准备支持高于这个cuda版本的显卡驱动就可以了。不过这个cuda只包含给pytorch用的库函数,不包括cuda toolchain,比如nvcc等等,如果需要完整的cuda还是要自己装。完整的CUDA Runtime version, 通过下载cudatoolkit获取,具体版本关系是driver version > runtime version。之后用nvcc-m可查看安装的CUDA版本。这个cudatoolkit可以理解为编译器,进一步使用cuda。具体链接:cudatool版本对应

版本对应

另外,常说的cuda指的是 nvidia cuda toolkit 软件开发包,而不是不是GPU驱动。相应的,cuda版本也即CUDA工具包的版本,而不是显卡驱动版本,请注意~~

运行cuda应用程序需要有两个前提:

①硬件:支持cuda的显卡, 很显然

②软件:与cuda toolkit兼容的显卡驱动程序

cuda每个版本都对应一个最低版本的显卡驱动程序。也就是说,cuda程序是向后兼容的,针对特定版本的 CUDA 编译的应用程序将继续在后续(以后)驱动程序版本上工作。

pytorch-cuda

最后附上pytorch-gpu和cuda对应版本关系链接:版本对应

发表评论