CUDA安装+配置,WINDOW+CPU和LINUX+3090

1,122 阅读15分钟

安装CUDA

先安装CUDA (全称cudatoolkit) ;再把下载的对应CUDNN中的文件覆盖进CUDA

CUDA的绝对路径

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA

查当前环境下的CUDA版本

nvcc --version

image-20220126164234864

多版本的cuda下载地址

下面可以下载基本安装程序。

有n个补丁可用。 这些补丁需要首先安装基本安装程序。

8.0

cuda_8.0.61_win10_network 安装包

cuda_8.0.61.2_windows 补丁包

9.0

cuda_9.0.176_win10_network 安装包

cuda_9.0.176.1_windows 补丁包

cuda_9.0.176.2_windows

cuda_9.0.176.3_windows

cuda_9.0.176.4_windows

9.1

10.0

多版本CUDA安装过程

根据你自己的平台选择对应设置

注意每次安装的时候都有两个安装的地址需要更改,本电脑装于

D:\Temp\CUDA

D:\Temp\CUDA

image-20220126150447585image-20220126150516753

D:\FILE\NVIDIA GPU Computing Toolkit\CUDA\v9.0

D:\FILE\NVIDIA GPU Computing Toolkit\CUDA\v8.0

比如咱们下载的是cuda9.0,在安装的过程中,前面会有一堆的用户协议需要阅读完毕,然后就是以下几个问题需要注意以下:

  1. Do you accept the previously read EULA?accept/decline/quit: acceptInstall NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?

    (y)es/(n)o/(q)uit: n

    如果在这之前已经安装好更高版本的显卡驱动就不需要再重复安装,如果没有的话,建议安装。如果需要重复安装就选择 yes,此外还需要关闭图形界面。

  2. Install the CUDA 9.0 Toolkit?

    (y)es/(n)o/(q)uit: y

    Enter Toolkit Location[ default is /usr/local/cuda-9.0 ]:

    一般选择默认即可,也可以选择安装在其他目录,在需要用的时候指向该目录或者使用软连接 link 到 /usr/local/cuda。

  3. /usr/local/cuda-9.0 is not writable.Do you wish to run the installation with 'sudo'?

    (y)es/(n)o: y

    Please enter your password: Do you want to install a symbolic link at /usr/local/cuda?

    是否将安装目录通过软连接的方式 link 到 /usr/local/cuda,yes or no 都可以,如果你认为你最常用的版本是cuda9.0,为了方便,可以选择yes,但是这里选择no,后面专门设置也是可以的。

  4. Install the CUDA 9.0 Samples?

    (y)es/(n)o/(q)uit: n这里不建议安装,基本上不会看,但是会占一大堆空间

经过以上安装完毕之后,D:\FILE\NVIDIA GPU Computing Toolkit\CUDA会出现一个cuda-9.0的文件夹,用同样的方法去安装cuda8.0,cuda9.1,cuda10.0,总之根据你的需要,比如笔者的文件夹下就是这样的:

image-20220126145943247

CUDNN安装

image-20220126155823853

解压文件夹,将解压后的文件夹下的文件拷贝到cuda安装目录下,与之相对应的文件夹下。

img

完成!

windows下 为不同虚拟环境配置不同的cuda

前提:都需要在本地有多个版本的CUDA,CUDNN的配置文件也已覆盖进CUDA了

法一:先切换CUDA,再新建环境,环境同base

多版本CUDA切换

在win10中显卡驱动只能安装一个,但是可以同时安装多个版本的cuda,如 在这里插入图片描述 当需要切换版本时,先查看系统变量中CUDA_PATH的CUDA版本号 在这里插入图片描述 然后在path中将cuda8相关的路径上移到最上面 在这里插入图片描述 在这里插入图片描述

测试

比如说你现在需要安装一个python3.5.2+tensorflow0.2.1+cuda8.0的深度学习环境,进行以下步骤即可。

先使用Anaconda建立一个python3.5.2的python环境;

再在环境中安装tensorflow-gpu==0.2.1就可以了!

因为这个python3.5.2+tensorflow0.2.1+cuda8.0环境一般都是代码里面要求的,肯定是兼容的,我们只要保证cuda版本和作者要求的版本一致就行啦!

比如又需要安装一个python3.6+tensorflow1.7+cuda9.0的环境:

先使用Anaconda建立一个python3.6的python环境;

再在环境中安装tensorflow-gpu==1.7.0搞定!是不是很简单?!

法二:新建环境后修改CUDA

1 环境安装

安装cuda8.0和cuda10.0到计算机,这里不再详述。

2 虚拟环境创建

2.1 打开Anaconda Prompt创建第二个虚拟环境

conda create -n open-mmlab python=3.7 -y

2.2将Prompt窗口定位到虚拟环境主目录下(参考这里

在这里插入图片描述

执行以下命令:

mkdir .\etc\conda\activate.d
mkdir .\etc\conda\deactivate.d

得到下图的文件夹

在这里插入图片描述

在activate.d中创建env_vars.bat,内容为:

@set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
@set CUDA_NVVP=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
@set CUDA_lib=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
@set OLD_PATH=%PATH%
@set PATH=%CUDA_PATH%;%CUDA_NVVP%;%CUDA_lib%;%PATH%;

就将cuda10.0对应的库添加到了临时系统环境变量中。

在deactivate.d中创建同名文件env_vars.bat,内容为:

@set PATH=%OLD_PATH%

将环境变量重置为原始的内容。

下面开始测试

base环境下

在这里插入图片描述

激活虚拟环境

img

这样就能在不同虚拟环境下使用不同的cuda进行训练和测试任务。

版本对应关系

pytorch

参照官网

img

| torch | torchvision | cuda | python |
| :---: | :---------: | :--: | :----: |
|   1.7.0    |      0.8.0       |  9.2,10.1,10.2,11.0    |>=3.6        |
torchtorchvisioncudapython

CUDA与显卡驱动

img

tensorflow

tensorflow2.3.0,提供GPU支持

  1. cudatoolkit 10.1+对应的CUDNN
  2. 在配置环境中安装tensorflow 2.3

CPU

CPU版本的tensorflow安装很简单,直接安装对应版本即可。

GPU

然而GPU版本的安装比较复杂,需要考虑到:

  1. cudatoolkit和cudnn的安装。(用于GPU计算)
  2. cudatoolkit和cudnn版本与tensorflow版本的一致。linux/macOS版本对应信息 Windows版本对应☆
  3. keras版本和tensorflow版本的一致。部分版本对应信息
  4. python版本的对应。对于过低的tensorflow版本采取较低python版本。

cudatoolkit和cudnn

版本Python 版本编译器构建工具cuDNNCUDA
tensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.5.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1
tensorflow_gpu-2.0.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.15.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.27.410
tensorflow_gpu-1.13.03.5-3.7MSVC 2015 update 3Bazel 0.19.0-0.21.07.410
tensorflow_gpu-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.07.29.0
tensorflow_gpu-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
tensorflow_gpu-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18

keras

FrameworkEnv name (--env parameter)DescriptionDocker ImagePackages and Nvidia Settings
TensorFlow 1.14tensorflow-1.14TensorFlow 1.14.0 + Keras 2.2.5 on Python 3.6.floydhub/tensorflowTensorFlow-1.14
TensorFlow 1.13tensorflow-1.13TensorFlow 1.13.0 + Keras 2.2.4 on Python 3.6.floydhub/tensorflowTensorFlow-1.13
TensorFlow 1.12tensorflow-1.12TensorFlow 1.12.0 + Keras 2.2.4 on Python 3.6.floydhub/tensorflowTensorFlow-1.12
tensorflow-1.12:py2TensorFlow 1.12.0 + Keras 2.2.4 on Python 2.floydhub/tensorflow
TensorFlow 1.11tensorflow-1.11TensorFlow 1.11.0 + Keras 2.2.4 on Python 3.6.floydhub/tensorflowTensorFlow-1.11
tensorflow-1.11:py2TensorFlow 1.11.0 + Keras 2.2.4 on Python 2.floydhub/tensorflow
TensorFlow 1.10tensorflow-1.10TensorFlow 1.10.0 + Keras 2.2.0 on Python 3.6.floydhub/tensorflowTensorFlow-1.10
tensorflow-1.10:py2TensorFlow 1.10.0 + Keras 2.2.0 on Python 2.floydhub/tensorflow
TensorFlow 1.9tensorflow-1.9TensorFlow 1.9.0 + Keras 2.2.0 on Python 3.6.floydhub/tensorflowTensorFlow-1.9
tensorflow-1.9:py2TensorFlow 1.9.0 + Keras 2.2.0 on Python 2.floydhub/tensorflow
TensorFlow 1.8tensorflow-1.8TensorFlow 1.8.0 + Keras 2.1.6 on Python 3.6.floydhub/tensorflowTensorFlow-1.8
tensorflow-1.8:py2TensorFlow 1.8.0 + Keras 2.1.6 on Python 2.floydhub/tensorflow
TensorFlow 1.7tensorflow-1.7TensorFlow 1.7.0 + Keras 2.1.6 on Python 3.6.floydhub/tensorflowTensorFlow-1.7
tensorflow-1.7:py2TensorFlow 1.7.0 + Keras 2.1.6 on Python 2.floydhub/tensorflow
TensorFlow 1.5tensorflow-1.5TensorFlow 1.5.0 + Keras 2.1.6 on Python 3.6.floydhub/tensorflowTensorFlow-1.5
tensorflow-1.5:py2TensorFlow 1.5.0 + Keras 2.1.6 on Python 2.floydhub/tensorflow
TensorFlow 1.4tensorflow-1.4TensorFlow 1.4.0 + Keras 2.0.8 on Python 3.6.floydhub/tensorflow
tensorflow-1.4:py2TensorFlow 1.4.0 + Keras 2.0.8 on Python 2.floydhub/tensorflow
TensorFlow 1.3tensorflow-1.3TensorFlow 1.3.0 + Keras 2.0.6 on Python 3.6.floydhub/tensorflow
tensorflow-1.3:py2TensorFlow 1.3.0 + Keras 2.0.6 on Python 2.floydhub/tensorflow
TensorFlow 1.2tensorflow-1.2TensorFlow 1.2.0 + Keras 2.0.6 on Python 3.5.floydhub/tensorflow
tensorflow-1.2:py2TensorFlow 1.2.0 + Keras 2.0.6 on Python 2.floydhub/tensorflow
TensorFlow 1.1tensorflowTensorFlow 1.1.0 + Keras 2.0.6 on Python 3.5.floydhub/tensorflow
tensorflow:py2TensorFlow 1.1.0 + Keras 2.0.6 on Python 2.floydhub/tensorflow
TensorFlow 1.0tensorflow-1.0TensorFlow 1.0.0 + Keras 2.0.6 on Python 3.5.floydhub/tensorflow
tensorflow-1.0:py2TensorFlow 1.0.0 + Keras 2.0.6 on Python 2.floydhub/tensorflow
TensorFlow 0.12tensorflow-0.12TensorFlow 0.12.1 + Keras 1.2.2 on Python 3.5.floydhub/tensorflow
tensorflow-0.12:py2TensorFlow 0.12.1 + Keras 1.2.2 on Python 2.floydhub/tensorflow
PyTorch 1.1pytorch-1.1PyTorch 1.1.0 + fastai 1.0.57 on Python 3.6.floydhub/pytorchPyTorch-1.1
PyTorch 1.0pytorch-1.0PyTorch 1.0.0 + fastai 1.0.51 on Python 3.6.floydhub/pytorchPyTorch-1.0
pytorch-1.0:py2PyTorch 1.0.0 on Python 2.floydhub/pytorch
PyTorch 0.4pytorch-0.4PyTorch 0.4.1 on Python 3.6.floydhub/pytorchPyTorch-0.4
pytorch-0.4:py2PyTorch 0.4.1 on Python 2.floydhub/pytorch
PyTorch 0.3pytorch-0.3PyTorch 0.3.1 on Python 3.6.floydhub/pytorchPyTorch-0.3
pytorch-0.3:py2PyTorch 0.3.1 on Python 2.floydhub/pytorch
PyTorch 0.2pytorch-0.2PyTorch 0.2.0 on Python 3.5floydhub/pytorch
pytorch-0.2:py2PyTorch 0.2.0 on Python 2.floydhub/pytorch
PyTorch 0.1pytorch-0.1PyTorch 0.1.12 on Python 3.floydhub/pytorch
pytorch-0.1:py2PyTorch 0.1.12 on Python 2.floydhub/pytorch
Theano 0.9theano-0.9Theano rel-0.8.2 + Keras 2.0.3 on Python3.5.floydhub/theano
theano-0.9:py2Theano rel-0.8.2 + Keras 2.0.3 on Python2.floydhub/theano
CaffecaffeCaffe rc4 on Python3.5.floydhub/caffe
caffe:py2Caffe rc4 on Python2.floydhub/caffe
TorchtorchTorch 7 with Python 3 env.floydhub/torch
torch:py2Torch 7 with Python 2 env.floydhub/torch
Chainer 1.23chainer-1.23Chainer 1.23.0 on Python 3.floydhub/chainer
chainer-1.23:py2Chainer 1.23.0 on Python 2.floydhub/chainer
Chainer 2.0chainer-2.0Chainer 1.23.0 on Python 3.floydhub/chainer
chainer-2.0:py2Chainer 1.23.0 on Python 2.floydhub/chainer
MxNet 1.0mxnetMxNet 1.0.0 on Python 3.6.floydhub/mxnet
mxnet:py2MxNet 1.0.0 on Python 2.floydhub/mxnet

RTX 3090 GPU(Linux下)

pytorch

旺哥已经装过CUDA和CUDNN了,怎么查询版本

如何查看CUDA版本和CUDNN版本

cuda一般安装在 /usr/local/cuda/ 路径下,该路径下有一个version.txt文档,里面记录了cuda的版本信息

cat  /usr/local/cuda-11.5/version.json

即可查询

应该是CUDA11.5

同理,cudnn的信息在其头文件里

cat /usr/local/cuda-11.5/targets/x86_64-linux/include/cudnn.h | grep CUDNN_MAJOR -A 2 

即可查询

下载对应的Pytorch包

下载库中寻找(CUDA11.5,Python3.7,Linux):

cu115/torch-1.11.0%2Bcu115-cp37-cp37m-linux_x86_64.whl

cu115/torchvision-0.12.0%2Bcu115-cp37-cp37m-linux_x86_64.whl

# 安装好后保存到U盘的L:\重装\Environment\NVDIA\envs\CUDA11.5-py37-Linux中了

下载好后在自己的环境下进行安装:

cd /home/wang/huiyan/LocalPytorch包/CUDA11.5-py37-Linux/

pip install torch-1.11.0+cu115-cp37-cp37m-linux_x86_64.whl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

pip install torchvision-0.12.0+cu115-cp37-cp37m-linux_x86_64.whl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

然后就安装好了

Pytorch的本地下载库

2B

cu110:CUDA11.0;如果是'cpu'则说明是cpu版本的包,不适配gpu。

torch-1.7.0

cp37:python3.7版本

linux_x86_64;Linux版本就选前一个,Windows版本就选后一个,MacOS的就不知道了,可能也是后一个

无用

RTX 3090 GPU(Linux下)

根据

pytorch

对应

  1. CUDA11.0

  2. CUDNN也要对应

  3. PyTorch建议使用离线方式手动安装,戳这里下载对应CUDA版本与对应Python版本的torch以及torchvision

    # conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch -c conda-forge
    conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c conda-forge
    

    至于为什么后面没有加入了这个 -c pytorch 的原因:其中,-c pytorch参数指定了conda获取pytorch的channel,在此指定为conda自带的pytorch仓库。 因此,只需要将-c pytorch语句去掉,就可以使用清华镜像源快速安装pytorch了。

    import torch
    torch.cuda.is_available() 
    

    返回为True安装成功。

    注意要下载GPU版本

    Pytorch官网提供的安装命令安装的都是cpu版本的,那该怎么装gpu版本的Pytorch呢,第一个解决方法是不用国内镜像源,直接从国外源服务器上下载,我估计下载来cpu版本是由于国内镜像源的问题,试了下,网速感人,于是只能另寻他路。

    又在网上找了好一段时间,才发现pip可以安装本地的包,也就是说可以先把包下载到本地,然后用'pip install xxxx'来安装,'xxxx'是本地包的存放路径。后来在一个博客里找到了官网的下载库地址

    打开后里面都是一堆链接,如下图所示,我们需要在这里面中找到自己需要的包。

    torchtorchvisioncudapython
    1.7.00.8.09.2,10.1,10.2,11.0>=3.6
    cu110/torch-1.7.0%2Bcu110-cp37-cp37m-linux_x86_64.whl
    cu110/torchvision-0.8.0-cp37-cp37m-linux_x86_64.whl
    # 安装好后保存到U盘的L:\重装\Environment\NVDIA\envs\CUDA11.0-py37-Linux中了
    

    2B

    cu110:CUDA11.0;如果是'cpu'则说明是cpu版本的包,不适配gpu。

    torch-1.7.0

    cp37:python3.7版本

    linux_x86_64;Linux版本就选前一个,Windows版本就选后一个,MacOS的就不知道了,可能也是后一个

  4. 下载后pip install xxx(下载下来的文件名) 安装即可,指令进入到安装包路径下然后'pip install torch-1.10.0+cu113-cp39-cp39-win_amd64.whl'

    cd /home/wang/huiyan/LocalPytorch包/CUDA11.0-py37-Linux/
    
    pip install torch-1.7.0+cu110-cp37-cp37m-linux_x86_64.whl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
    
    pip install torchvision-0.8.0-cp37-cp37m-linux_x86_64.whl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
    

    后面的路径换成你下载到的文件夹即可,记得要先装torch再装torchvision,否则pip会自己再下一个torch给你装上去。

  5. 验证是否安装好

    在终端中

    python
    

    进入python页面

    import torch
    print(torch.__version__)
    print(torch.version.cuda)
    torch.cuda.is_available() 
    
  6. 2131234

tensorflow

使用 pip install tensorflow==2.4.0rc0 命令安装总是失败。 下载地址:download.csdn.net/download/zi…

# pip install tensorflow==2.4.0rc0 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install tensorflow==2.4.0rc0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
tf.test.is_gpu_available()

返回为True 安装成功。

输入nvidia-smi查看显卡

nvidia-smi

在这里插入图片描述

UserWarning:

NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70 sm_75. If you want to use the NVIDIA GeForce RTX 3090 GPU with PyTorch, please check the instructions at pytorch.org/get-

UserWarning:

带有CUDA能力sm_86的NVIDIA GeForce RTX 3090与当前的PyTorch安装不兼容。

当前的PyTorch安装支持CUDA功能sm_37 sm_50 sm_60 sm_70 sm_75。

如果你想使用NVIDIA GeForce RTX 3090 GPU与PyTorch,请在pytorch.org/get-查看说明

翻译一下就是:RTX 3090的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、7.0、7.5

算力7.0的显卡可以在支持最高算力7.5的CUDA版本下运行,但是算力7.5的显卡不可以在支持最高算力7.0的CUDA版本下运行 同理算力8.x的显卡不可以在支持最高算力7.x的CUDA版本下运行

解决办法

直接上pytorch官网装最新版本的cuda以及对应的pytorch,肯定就可以让所有显卡都可以用。

在这里插入图片描述

下面展示一些 内联代码片

pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html

安装11.1的cuda及对应pytorch即可解决问题

完成后conda list查看pytorch等版本:

在这里插入图片描述

我的版本:

  1. CUDA 11.0.2_451.48_win10
  2. CuDnn 11.2-windows-x64-v8.1.1.33
  3. PyTorch:conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch -c conda-forge
  4. TensorFlow:gpu-2.4.0rc0-cp38-cp38-win_amd64

CUDA不可用的判断

在终端中

python

进入python页面

import torch
print(torch.__version__)
print(torch.version.cuda)

输出

>>> print(torch.__version__)
1.10.0+cpu
>>> print(torch.version.cuda)
None
>>>

这里的'cpu'其实代表着我安装的是cpu版本的Pytorch。、

在 Linux/OS X 上

在终端窗口中运行以下命令

nvidia-smi

这应该会导致类似以下内容(wang版)

Mon Apr 18 12:04:58 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.29.05    Driver Version: 495.29.05    CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
|  0%   34C    P8    22W / 350W |   1424MiB / 24259MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1149      G   /usr/lib/xorg/Xorg                 35MiB |
|    0   N/A  N/A      1790      G   /usr/lib/xorg/Xorg                119MiB |
|    0   N/A  N/A      1926      G   /usr/bin/gnome-shell               53MiB |
|    0   N/A  N/A      2961    C+G   ...lib/vmware/bin/mksSandbox       57MiB |
|    0   N/A  N/A    157036      C   ...TIRankPegasus/bin/python3     1139MiB |
+-----------------------------------------------------------------------------+

Driver Version: ###.##是您的图形驱动程序版本。在上面的示例中,驱动程序版本是495.29.05.

CUDA Version: ##.#是您的图形驱动程序支持的最新版本的 CUDA。在上面的示例中,图形驱动程序支持 CUDA 11.5 以及 11.5 之前的所有兼容 CUDA 版本

注意CUDA Version此表中显示的内容并不表示您的系统上实际安装了 CUDA 工具包或运行时。这只是表示您的图形驱动程序兼容的最新版本的 CUDA。

为了更加确定您的驱动程序支持所需的 CUDA 版本,您可以访问CUDA 发行说明页面上的表 2。


3. 如何检查特定版本的 PyTorch 是否与您的 GPU/显卡计算能力兼容

即使您的显卡支持所需的 CUDA 版本,也有可能预编译的 PyTorch 二进制文件未在支持您的计算能力的情况下进行编译。例如,在 PyTorch 0.3.1 中,对计算能力 <= 5.0 的支持被删除

首先,确认您的显卡和驱动程序都支持所需的 CUDA 版本(参见上面的第 1 和第 2 节) ,本节中的信息假设是这种情况。

检查 PyTorch 是否支持您的计算能力的最简单方法是安装具有 CUDA 支持的所需 PyTorch 版本,并从 python 解释器运行以下命令

>>> import torch
>>> torch.zeros(1).cuda()

如果您收到一条错误消息,内容为

Found GPU0 XXXXX which is of cuda capability #.#.
PyTorch no longer supports this GPU because it is too old.

那么这意味着 PyTorch 未在编译时支持您的计算能力。如果这运行没有问题,那么你应该很高兴。

更新如果您在具有较新 GPU 的系统上安装旧版本的 PyTorch,那么旧的 PyTorch 版本可能未在编译时支持您的计算能力。假设您的 GPU 支持 PyTorch 使用的 CUDA 版本,那么您应该能够使用所需的 CUDA 版本从源代码重建 PyTorch,或者升级到支持更新计算功能的最新版本 PyTorch。


4。结论

如果您的显卡和驱动程序支持所需版本的 CUDA(第 1 节和第 2 节),但 PyTorch 二进制文件不支持您的计算能力(第 3 节),那么您的选择是

  • 从源代码编译 PyTorch 并支持您的计算能力(参见此处
  • 在不支持 CUDA 的情况下安装 PyTorch(仅限 CPU)
  • 安装支持您的计算能力的旧版本的 PyTorch 二进制文件(不推荐,因为此时 PyTorch 0.3.1 非常过时)。预建二进制文件从未支持 AFAIK 计算能力早于 3.X
  • 升级你的显卡

如果您的显卡不支持所需的 CUDA 版本(第 1 节),那么您的选择是

  • 在不支持 CUDA 的情况下安装 PyTorch(仅限 CPU)
  • 安装支持图形卡支持的 CUDA 版本的旧版本 PyTorch(如果二进制文件不支持您的计算能力,仍可能需要从源代码编译)
  • 升级你的显卡

linux 查看cuda、cudnn版本

查看cuda版本

nvcc --version

若该指令无法执行,先安装

sudo apt install nvidia-cuda-toolkit

或者

cat /usr/local/cuda/version.txt

wang的版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

或者

dpkg -l | grep cudnn  #查看已安装版本
sudo dpkg -r libcudnn7 # 删除版本

wang的版本

ii  libcudnn8                                  8.2.4.15-1+cuda11.4                 amd64        cuDNN runtime libraries
ii  libcudnn8-dev                              8.2.4.15-1+cuda11.4                 amd64        cuDNN development libraries and headers
ii  libcudnn8-samples                          8.2.4.15-1+cuda11.4                 amd64        cuDNN documents and samples

卸载CUDA

卸载cudnn

因为nvcc -V 查到的cuda版本是9.1 dpkg查到的cudnn是7+cuda9.0

搞不懂 运行darknet不会报错,但是gluoncv跑不通 所以重装一下cudnn 看看是不是这个原因

dpkg -l | grep cudnn  #查看已安装
----------------------------------------------------

libcudnn7       7.4.1.5-1+cuda9.0 amd64 ....

libcudnn7-dev   7.4.1.5-1+cuda9.0 amd64 ....
----------------------------------------------------

sudo dpkg -r libcudnn7  #卸载已安装
---------------------------------------------------

报错:
dpkg:依赖问题阻止了卸载libcudnn7的操作
libcudnn7-dev依赖于libcudnn7(=7.4.1.5-1+cuda9.0)
解决办法:

先卸载libcudnn7-dev
---------------------------------------------------

sudo dpkg -r libcudnn7-dev
sudo dpkg -r libcudnn7
dpkg -l | grep cudnn # 无显示 说明卸载成功

安装cudnn 需要nvidia账号

developer.nvidia.com/rdp/cudnn-a… 根据cuda版本选择下载 这里是cuda9.1 选择cudnn7.1.3

选择cuDNN v7.1.3 Runtime Library for Ubuntu16.04[Deb] 下载

安装指令: 安装成功即可

sudo dpkg -i libcudnn7_7.1.3.16-1+cuda9.1_amd64.deb

nvidia-smi显示的 CUDA Version: 10.0 只是说该驱动最大支持的CUDA Toolkit版本号是10.0,而不是您目前安装的CUDA版本是10.0.查看目前CUDA版本号的命令是$ nvcc -V

Python第三方包安装出现 file is not a zip file错误 使用pip install Python第三方包名.whl ,安装Python第三方包时,例如安装numpy-1.14.5+mkl-cp35-cp35m-win_amd64.whl,出现 file is not a zip file错误,原因是下载的过程中包出现了丢失,重新下载即可。

tensorflow与cuda,cudnn的版本匹配 blog.csdn.net/omodao1/art…

\