本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
tensorflow 各个版本的 CUDA 以及 Cudnn 版本对应关系
概述,需要注意以下几个问题:
(1)NVIDIA 的显卡驱动程序和 CUDA 完全是两个不同的概念哦!CUDA 是 NVIDIA 推出的用于自家 GPU 的并行计算框架,也就是说 CUDA 只能在 NVIDIA 的 GPU 上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥 CUDA 的作用。
CUDA 的本质是一个工具包(ToolKit);但是二者虽然不一样的。
显卡驱动的安装:
当我们使用一台电脑的时候默认的已经安装了 NVIDIA 的显卡驱动,因为没有显卡驱动根本用不了显卡嘛,但是这个时候我们是没有 CUDA 可以用的,我们可以更新我们的驱动,更新链接为:
https://www.nvidia.com/Download/index.aspx?lang=en-us
在这个里面可以根据自己的显卡类型选择最新的驱动程序。显卡驱动程序当前大小大概 500 多 M。
CUDA ToolKit 的安装:
CUDA 的下载地址为:https://developer.nvidia.com/cuda-downloads
我们可以选择两种安装方式,一种是在线安装(我还没用过),一中离线安装(我采用的)即本地安装,
当我们选择离线安装,当我们选定相对应的版本之后,下载的时候发现这个地方的文件大小大概在 2G 左右,Linux 系统下面我们选择 runfile(local) 完整安装包从本地安装,或者是选择 windows 的本地安装。CUDA Toolkit 本地安装包时内含特定版本 Nvidia 显卡驱动的,所以只选择下载 CUDA Toolkit 就足够了,如果想安装其他版本的显卡驱动就下载相应版本即可。
所以,NVIDIA 显卡驱动和 CUDA 工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的 CUDA 工具包会默认携带与之匹配的最新的驱动程序。
注意事项:NVIDIA 的显卡驱动器与 CUDA 并不是一一对应的哦,CUDA 本质上只是一个工具包而已,所以我可以在同一个设备上安装很多个不同版本的 CUDA 工具包,比如我的电脑上同事安装了 CUDA 9.0、CUDA 9.2、CUDA 10.0 三个版本。一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同 CUDA 工具包就可以了,但是由于使用离线的 CUDA 总是会捆绑 CUDA 和驱动程序,所以在使用多个 CUDA 的时候就不要选择离线安装的 CUDA 了,否则每次都会安装不同的显卡驱动,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的 CUDA 即可。
总结:CUDA 和显卡驱动是没有一一对应的。
(2)cuDNN 是一个 SDK,是一个专门用于神经网络的加速包,注意,它跟我们的 CUDA 没有一一对应的关系,即每一个版本的 CUDA 可能有好几个版本的 cuDNN 与之对应,但一般有一个最新版本的 cuDNN 版本与 CUDA 对应更好。
总结:cuDNN 与 CUDA 没有一一对应的关系
(3)CUDA 工具包附带的 CUPTI。
CUPTI,即 CUDA Profiling Tools Interface (CUPTI)。在 CUDA 分析工具接口(CUPTI)能够分析和跟踪靶向 CUDA 应用程序的工具的创建。CUPTI 提供以下 API:
Activity API,
Callback API,
事件 API,
Metric API,和
Profiler API。
使用这些 API,您可以开发分析工具,深入了解 CUDA 应用程序的 CPU 和 GPU 行为。CUPTI 作为 CUDA 支持的所有平台上的动态库提供。请参阅 CUPTI 文档。
一、tensorflow 各个版本需要的 CUDA 版本以及 Cudnn 的对应关系
1.1 对应表格
相应的网址为:
https://www.tensorflow.org/install/source#common_installation_problems
https://www.tensorflow.org/install/source_windows
现在 NVIDIA 的显卡驱动程序已经更新到 10.1 版本,最新的支持 CUDA 10.1 版本的 cuDNN 为 7.5.0
1.2 CUDA 的命名规则
下面以几个例子来说
(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.3 如何查看自己所安装的 CUDA 的版本:
(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 命令
1.4 如何查看自己的 cuDNN 的版本
因为 cuDNN 本质上就是一个 C 语言的 H 头文件,
(1)在 windows 平台下:
直接进入安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include 之下,然后找到
cudnn.h 的头文件,直接到开查看,在最开始的部分会有如下定义:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
即 7500,也就是 cudnn 的版本为 7.5.0 版本;
(2)在 Linux 下当然也可以直接查看,但是通过命令更简单,进入到安装目录,执行如下命令:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 即可查询
即 5005,即 5.0.5 版本的 cudnn。
二、CUDA 与相对应的 Cudnn 对应关系
https://developer.nvidia.com/rdp/cudnn-archive?spm=a2c6h.12873639.0.0.6ae46238Zi95ut
三、NVIDIA 显卡以及对应的显卡驱动的对应关系
由于 NVIDIA 存在多个系列的显卡类型,把这里仅仅显示出 GeForce 系列的显卡以及各个显卡的计算能力(compute capability),详情可以参考官网链接:
https://developer.nvidia.com/cuda-gpus
(1)GeForce Desktop Products
GPU Compute Capability
NVIDIA TITAN RTX 7.5
Geforce RTX 2080 Ti 7.5
Geforce RTX 2080 7.5
Geforce RTX 2070 7.5