CUDA与CUDNN

时间:2024-10-27 07:54:09

1 基本概念

1.1 什么是CUDA?

CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

1.2 什么是CUDNN?

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

1.3 CUDA与CUDNN的关系

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

2 错误

  • 错误分析
  1. 安装pytorch或torchvision时,无法找到对应版本
  2. cuda可以找到,但是无法转为.cuda()
  • 以上两种或类似错误,一般由两个原因可供分析:
  1. cuda版本不合适,重新安装cuda和cudnn
  2. pytorch和torchvision版本没对应上

3 pytorch和torchvision版本对应关系

以下版本截止2021年3月24日

pytorch torchvision python cuda
1.8.0 0.9.0 >=3.6 10.2,11.1
1.7.1 0.8.2 >=3.6 9.2, 10.1,10.2,11.0
1.7.0 0.8.0 >=3.6 9.2, 10.1,10.2,11.0
1.6.0 0.7.0 >=3.6 9.2, 10.1,10.2
1.5.1 0.6.1 >=3.6 9.2, 10.1,10.2
1.5.0 0.6.0 >=3.6 9.2, 10.1,10.2
1.4.0 0.5.0 ==2.7, >=3.5, <=3.8 9.2, 10.0
1.3.1 0.4.2 ==2.7, >=3.5, <=3.7 9.2, 10.0
1.3.0 0.4.1 ==2.7, >=3.5, <=3.7 9.2, 10.0
1.2.0 0.4.0 ==2.7, >=3.5, <=3.7 9.2, 10.0
1.1.0 0.3.0 ==2.7, >=3.5, <=3.7 9.0, 10.0
<1.0.1 0.2.2 ==2.7, >=3.5, <=3.7 9.0, 10.0

4 conda安装方法

根据pytorch官网方法安装,参考

/get-started

在这里插入图片描述

上面命令为安装最新的版本,为了能够应对各种不同硬件条件,常需要手动输入命令安装特定版本,可参考如下代码

# 安装pytorch==.0  torchvision==.0 cudatoolkit=
conda install pytorch==1.x.0 torchvision==0.x.0 cudatoolkit=10.x -c pytorch

比如,举个更具体地例子:

# CUDA 9.2
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

# CPU Only
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch

查看pytorch版本:

import torch

print(torch.__version__)  # 查看torch当前版本号

print(torch.version.cuda)  # 编译当前版本的torch使用的cuda版本号

print(torch.cuda.is_available())  # 查看当前cuda是否可用于当前版本的Torch,如果输出True,则表示可用

5 查看cuda版本

nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Jan_28_19:32:09_PST_2021
Cuda compilation tools, release 11.2, V11.2.142
Build cuda_11.2.r11.2/compiler.29558016_0

后话

其实,环境中各版本对应关系出错,很容易导致各种乱七八糟地错误,所以尽量按照官方的要求安装。

/jorg_zhao/article/details/106883420

标题