命令行中输入 nvidia-smi
C:\Users\Administrator>nvidia-smi
Mon Dec 14 20:24:37 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.79 Driver Version: 460.79 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce RTX 3070 WDDM | 00000000:01:00.0 On | N/A |
| 0% 50C P2 48W / 240W | 1203MiB / 8192MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
其中 CUDA Version:11.2 就是当前显卡的CUDA版本啦。
找不到该命令怎么办:
1、cmd中目录切换到 C:\Program Files\NVIDIA Corporation\NVSMI下然后再使用nvidia-smi命令。
2、在系统变量的Path变量中添加C:\Program Files\NVIDIA Corporation\NVSMI,
1、控制面板-----NVIDIA控制面板
2、系统信息
3、如图
显卡驱动一般自带,官网下载地址:官方 GeForce 驱动程序 | NVIDIA
快速安装CUDA和Cudnn可参考:【CUDA】cuda安装 (windows版)
备份链接:https://app.yinxiang.com/shard/s11/nl/18572327/940c7ced-3cdf-4647-b807-e40e574ef804
下面具体讲述区别和联系以及下载流程
CUDA是显卡厂商NVIDIA推出的运算平台。CUDA英文全称是Compute Unified Device Architecture。
*CUDA是NVIDIA推出的用于自家GPU的并行计算框架,是一种并行计算平台和编程模型,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用
有人说:CUDA是一门编程语言,像C,C++,python 一样,也有人说CUDA是API。
官方说:CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。
运行CUDA应用程序要求系统至少具有一个具有CUDA功能的GPU和与CUDA Toolkit兼容的驱动程序。
查看CUDA版本命令:nvcc -V
或nvcc --version
或cat /usr/local/cuda/version.txt
(1) NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念哦!
CUDA和CUDA Driver显卡驱动不是一一对应的,比如同一台电脑上可同时安装CUDA 9.0、CUDA 9.2、CUDA 10.0等版本。
CUDA本质上只是一个工具包(ToolKit);所以我可以在同一个设备上安装很多个不同版本的CUDA,比如我的电脑上同事安装了 CUDA 9.0、CUDA 9.2、CUDA 10.0三个版本。一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了,但是由于使用离线的CUDA总是会捆绑CUDA和驱动程序(下面阐述),所以在使用多个CUDA的时候就不要选择离线安装的CUDA了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。显卡驱动下载地址:https://www.nvidia.com/Download/index.aspx?lang=en-us
CUDA工具包的主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。(通常在安装CUDA Toolkit的时候会默认安装CUDA Driver;但是我们经常只安装CUDA Driver,没有安装CUDA Toolkit,因为有时不一定用到CUDA Toolkit;比如我们的笔记本电脑,安装个CUDA Driver就可正常看视频、办公和玩游戏了)
详细内容见NVIDIA官方
cudatoolkit有两种:
①Nvidia 官方提供的 CUDA Toolkit
(官方提供的CUDA Toolkit是一个完整的工具安装包)大
②Anaconda安装Pytorch时,会自动安装cudatoolkit
(conda安装的只包含动态链接库等pytorch框架需要用到的东西)小原文链接
CUDA和CUDA toolkit区别: cuda和cudatoolkit_独孤的大山猫的博客-CSDN博客_cudatoolkit和cuda有关系吗
NVCC就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。由于程序是要经过编译器编程成可执行的二进制文件,而cuda程序有两种代码,一种是运行在cpu上的host代码,一种是运行在gpu上的device代码,所以nvcc编译器要保证两部分代码能够编译成二进制文件在不同的机器上执行。
cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程。
CUDA这个平台一开始并没有安装cuDNN库,当开发者们需要用到深度学习GPU加速时才安装cuDNN库,工作速度相较CPU快很多。
CUDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算;
来自知乎的解释:CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
基本上所有的深度学习框架都支持cuDNN这一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。
Caffe可以通过修改Makefile.config中的相应选项来修改是否在编译Caffe的过程中编译cuDNN,如果没有编译cuDNN的话,执行一些基于Caffe这一深度学习框架的程序速度上要慢3-5倍(Caffe官网上说不差多少,明明差很多嘛)。Caffe对cuDNN的版本不是很严格,只要大于cuDNN 4就可以。
查看cuDNN版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
1/显卡驱动下载地址:https://www.nvidia.com/Download/index.aspx?lang=en-us
2/CUDA的下载地址为:CUDA Toolkit Archive | NVIDIA Developer
我们可以选择两种安装方式,一种是在线安装(我还没用过),一中离线安装(我采用的)即本地安装,
当我们选择离线安装,当我们选定相对应的版本之后,下载的时候发现这个地方的文件大小大概在2G左右,Linux系统下面我们选择runfile(local)
完整安装包从本地安装,或者是选择windows的本地安装。
直接点击exe文件安装即可。
安装过程中:
CUDA安装完成后,打开powershell,执行nvcc -V ,成功的话会返回cuda版本号。
CUDA Toolkit本地安装包时内含特定版本Nvidia显卡驱动的,所以只选择下载CUDA Toolkit就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。
所以,NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认携带与之匹配的最新的驱动程序。
3/ CUDA ToolKit的安装:
暂时理解为:安装cuda就是安装cuda ToolKit
4/ cuDNN安装:cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。
官网直接下:cuDNN Archive | NVIDIA Developer
解压cuDNN压缩包,可以看到bin、include、lib目录;打开 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
找到你安装的版本目录,打开,找到bin、include、lib目录,将cuDNN压缩包内对应的文件复制到bin、include、lib目录。
注意:是复制文件到bin、include、lib目录,不是复制目录。
每个版本的CUDA Toolkit 都对应一个最低版本的显卡驱动版本(CUDA Driver),详情见下表。显卡驱动下载,CUDA Toolkit下载,显卡驱动安装教程,CUDA Toolkit安装教程1,CUDA Toolkit安装教程2
安装CUDA Driver核心命令:
sudo sh ./NVIDIA-Linux-x86_64-???.??.run
详细教程参考其他博客
需要知道:CUDA Toolkit和显卡驱动有版本的对应关系。
但同时:在同一台机器上(即同一个CUDA Driver版本)可以安装多个版本的CUDA(如CUDA 9.0、CUDA 10.1……只需要满足当前CUDA Driver版本支持安装的CUDA版本即可,满足关系见下图。
我的理解:安装CUDA就是安装CUDA Toolkit(CUDA是运算平台名称、CUDA Toolkit是工具包),就是从官网下载CUDA Toolkit安装.run文件(如cuda_9.0.176_384.81_linux.run)进行安装。
安装成功后,在/usr/local路径下才会有cuda-9.0文件夹,且同时才可以使用nvcc -V
可以查询到CUDA版本
Anaconda在安装Pytorch时,会同时用户安装cudatoolkit,如命令conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
,其主要包含应用程序在使用CUDA相关的功能时所依赖的动态链接库。conda安装只会安装一些计算库,不会安装编译工具。而官方的cuda包包含的东西会完整一些。
使用 Anaconda 安装的 CUDA Toolkit 不位于 lib64 路径中,也不会产生冲突
在考虑pip install tensorflow-gpu
安装tensorflow时,如安装TensorFlow2.1,需要安装CUDA Toolkit版本为10.1,而安装Tensorflow1.14.0,则要求cuda==10.0(tensorflow与cuda也有版本兼容问题,官方文档)
查询上图,我们发现需要显卡驱动版本应该大于等于418.96,故系统中的显卡驱动版本应该至少为418.39。
CUDA Toolkit本地安装包(local)内含特定版本Nvidia显卡驱动的,当在CUDA官网下载CUDA Toolkit后进行安装时会让用户选择安装项。
如果想安装其他版本的显卡驱动,则就需要在Nvidia官网自己下载并先安装好(或本机已经安装了合适版本的显卡驱动时),最后在安装CUDA Toolkit时取消安装内置版本的Nvidia显卡驱动。
**CUDA / CUDA Toolkit和cuDNN之间有版本对应关系。
但同时:同一个CUDA 版本支持安装多个版本的cuDNN(如cuDNN v7.6.4、cuDNN v7.6.3……选择其一安装即可。
cuDNN下载,cuDNN下载安装教程
查阅cuDNN下载网站,可以知道,如果目前电脑中安装了CUDA Toolkit=10.1(也就是CUDA10.1),那么cuDNN的可选版本有7.6.4、7.6.3、7.6.2
同上,如需要安装TensorFlow2.1,故我们需要安装CUDA Toolkit=10.1,同时cuDNN就需要从7.6.4、7.6.3、7.6.2这三个版本中选择。
下面以几个例子来说
(1)CUDA 9.2 CUDA 9.2.148
(2)CUDA 10.0 CUDA 10.0.130.411.31(后面的411.31对应更具体的版本号)
(3)CUDA 10.1 CUDA 10.1.105.418.96(后面的418.96对应更具体的版本号)
更多详细的请参考如下官网:https://developer.nvidia.com/cuda-toolkit-archive
(1)直接在NVIDIA的控制面板里面查看NVCUDA.DLL的版本。
注意:这里网上有很多说法是错误的,这个版本并不能绝对说明自己所安装的CUDA工具包一定这个版本
(2)通过命令查看:nvcc -V 或者是nvcc --version都可以,但前提是添加了环境变量
(3)直接通过文件查看,这里分为Linux和windows两种情况
在windows平台下,可以直接进入CUDA的安装目录,比如我的是:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2 里面有一个version.txt的文本文件,直接打开即可,也可以使用命令,即首先进入到安装目录,然后执行:type version.txt 即可查看
在Linux平台下:同windows类似,进入到安装目录,然后执行 cat version.txt 命令
因为cuDNN本质上就是一个C语言的H头文件,
(1)在windows平台下:
直接进入安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include 之下,然后找到
cudnn.h 的头文件,直接到开查看,在最开始的部分会有如下定义:
即5005,即5.0.5版本的cudnn。
官网:CUDA GPU | NVIDIA Developer(GeForce系列的显卡以及各个显卡的计算能力(compute capability))