精华内容
下载资源
问答
  • 显卡驱动与cuda、cudnn之间的关系

    千次阅读 2019-04-11 17:14:49
    (1)NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念哦!CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA...

    https://blog.csdn.net/qq_27825451/article/details/89082978 

    概述,需要注意以下几个问题:

    (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

    版本    Python 版本    编译器    编译工具    cuDNN    CUDA
    tensorflow_gpu-2.0.0-alpha0    2.7、3.3-3.6    GCC 4.8    Bazel 0.19.2    7.4.1以及更高版本    CUDA 10.0 (需要 410.x 或更高版本)
    tensorflow_gpu-1.13.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.19.2    7.4    10.0
    tensorflow_gpu-1.12.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.11.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.10.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.9.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.11.0    7    9
    tensorflow_gpu-1.8.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.10.0    7    9
    tensorflow_gpu-1.7.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.9.0    7    9
    tensorflow_gpu-1.6.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.9.0    7    9
    tensorflow_gpu-1.5.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.8.0    7    9
    tensorflow_gpu-1.4.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.5.4    6    8
    tensorflow_gpu-1.3.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.5    6    8
    tensorflow_gpu-1.2.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.5    5.1    8
    tensorflow_gpu-1.1.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.2    5.1    8
    tensorflow_gpu-1.0.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.2    5.1    8
    现在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对应关系

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.2

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.0

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 10.0

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.2

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.0

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.2

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.0

    Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 10.0

    Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 9.0

    Download cuDNN v7.2.1 (August 7, 2018), for CUDA 9.2

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.2

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 8.0

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.1

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.0

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 8.0

    Download cuDNN v7.1.2 (Mar 21, 2018), for CUDA 9.1 & 9.2

    Download cuDNN v7.1.2 (Mar 21, 2018), for CUDA 9.0

    Download cuDNN v7.0.5 (Dec 11, 2017), for CUDA 9.1

    Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0

    Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 8.0

    Download cuDNN v7.0.4 (Nov 13, 2017), for CUDA 9.0

    Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0

    Download cuDNN v6.0 (April 27, 2017), for CUDA 7.5

    Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0

    Download cuDNN v5.1 (Jan 20, 2017), for CUDA 7.5

    Download cuDNN v5 (May 27, 2016), for CUDA 8.0

    Download cuDNN v5 (May 12, 2016), for CUDA 7.5

    Download cuDNN v4 (Feb 10, 2016), for CUDA 7.0 and later.

    Download cuDNN v3 (September 8, 2015), for CUDA 7.0 and later.

    Download cuDNN v2 (March 17,2015), for CUDA 6.5 and later.

    Download cuDNN v1 (cuDNN 6.5 R1)

    三、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
    Geforce RTX 2060    7.5
    NVIDIA TITAN V    7.0
    NVIDIA TITAN Xp    6.1
    NVIDIA TITAN X    6.1
    GeForce GTX 1080 Ti    6.1
    GeForce GTX 1080    6.1
    GeForce GTX 1070    6.1
    GeForce GTX 1060    6.1
    GeForce GTX 1050    6.1
    GeForce GTX TITAN X    5.2
    GeForce GTX TITAN Z    3.5
    GeForce GTX TITAN Black    3.5
    GeForce GTX TITAN    3.5
    GeForce GTX 980 Ti    5.2
    GeForce GTX 980    5.2
    GeForce GTX 970    5.2
    GeForce GTX 960    5.2
    GeForce GTX 950    5.2
    GeForce GTX 780 Ti    3.5
    GeForce GTX 780    3.5
    GeForce GTX 770    3.0
    GeForce GTX 760    3.0
    GeForce GTX 750 Ti    5.0
    GeForce GTX 750    5.0
    GeForce GTX 690    3.0
    GeForce GTX 680    3.0
    GeForce GTX 670    3.0
    GeForce GTX 660 Ti    3.0
    GeForce GTX 660    3.0
    GeForce GTX 650 Ti BOOST    3.0
    GeForce GTX 650 Ti    3.0
    GeForce GTX 650    3.0
    GeForce GTX 560 Ti    2.1
    GeForce GTX 550 Ti    2.1
    GeForce GTX 460    2.1
    GeForce GTS 450    2.1
    GeForce GTS 450*    2.1
    GeForce GTX 590    2.0
    GeForce GTX 580    2.0
    GeForce GTX 570    2.0
    GeForce GTX 480    2.0
    GeForce GTX 470    2.0
    GeForce GTX 465    2.0
    GeForce GT 740    3.0
    GeForce GT 730    3.5
    GeForce GT 730 DDR3,128bit    2.1
    GeForce GT 720    3.5
    GeForce GT 705*    3.5
    GeForce GT 640 (GDDR5)    3.5
    GeForce GT 640 (GDDR3)    2.1
    GeForce GT 630    2.1
    GeForce GT 620    2.1
    GeForce GT 610    2.1
    GeForce GT 520    2.1
    GeForce GT 440    2.1
    GeForce GT 440*    2.1
    GeForce GT 430    2.1
    GeForce GT 430*    2.1
    (2)GeForce Notebook Products(笔记本电脑)

    GPU    Compute Capability
    Geforce RTX 2080    7.5
    Geforce RTX 2070    7.5
    Geforce RTX 2060    7.5
    GeForce GTX 1080    6.1
    GeForce GTX 1070    6.1
    GeForce GTX 1060    6.1
    GeForce GTX 980    5.2
    GeForce GTX 980M    5.2
    GeForce GTX 970M    5.2
    GeForce GTX 965M    5.2
    GeForce GTX 960M    5.0
    GeForce GTX 950M    5.0
    GeForce 940M    5.0
    GeForce 930M    5.0
    GeForce 920M    3.5
    GeForce 910M    5.2
    GeForce GTX 880M    3.0
    GeForce GTX 870M    3.0
    GeForce GTX 860M    3.0/5.0(**)
    GeForce GTX 850M    5.0
    GeForce 840M    5.0
    GeForce 830M    5.0
    GeForce 820M    2.1
    GeForce 800M    2.1
    GeForce GTX 780M    3.0
    GeForce GTX 770M    3.0
    GeForce GTX 765M    3.0
    GeForce GTX 760M    3.0
    GeForce GTX 680MX    3.0
    GeForce GTX 680M    3.0
    GeForce GTX 675MX    3.0
    GeForce GTX 675M    2.1
    GeForce GTX 670MX    3.0
    GeForce GTX 670M    2.1
    GeForce GTX 660M    3.0
    GeForce GT 755M    3.0
    GeForce GT 750M    3.0
    GeForce GT 650M    3.0
    GeForce GT 745M    3.0
    GeForce GT 645M    3.0
    GeForce GT 740M    3.0
    GeForce GT 730M    3.0
    GeForce GT 640M    3.0
    GeForce GT 640M LE    3.0
    GeForce GT 735M    3.0
    GeForce GT 635M    2.1
    GeForce GT 730M    3.0
    GeForce GT 630M    2.1
    GeForce GT 625M    2.1
    GeForce GT 720M    2.1
    GeForce GT 620M    2.1
    GeForce 710M    2.1
    GeForce 705M    2.1
    GeForce 610M    2.1
    GeForce GTX 580M    2.1
    GeForce GTX 570M    2.1
    GeForce GTX 560M    2.1
    GeForce GT 555M    2.1
    GeForce GT 550M    2.1
    GeForce GT 540M    2.1
    GeForce GT 525M    2.1
    GeForce GT 520MX    2.1
    GeForce GT 520M    2.1
    GeForce GTX 485M    2.1
    GeForce GTX 470M    2.1
    GeForce GTX 460M    2.1
    GeForce GT 445M    2.1
    GeForce GT 435M    2.1
    GeForce GT 420M    2.1
    GeForce GT 415M    2.1
    GeForce GTX 480M    2.0
    GeForce 710M    2.1
    GeForce 410M    2.1
    --------------------- 
    作者:LoveMIss-Y 
    来源:CSDN 
    原文:https://blog.csdn.net/qq_27825451/article/details/89082978 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    概述,需要注意以下几个问题:

    (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

    版本    Python 版本    编译器    编译工具    cuDNN    CUDA
    tensorflow_gpu-2.0.0-alpha0    2.7、3.3-3.6    GCC 4.8    Bazel 0.19.2    7.4.1以及更高版本    CUDA 10.0 (需要 410.x 或更高版本)
    tensorflow_gpu-1.13.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.19.2    7.4    10.0
    tensorflow_gpu-1.12.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.11.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.10.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.15.0    7    9
    tensorflow_gpu-1.9.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.11.0    7    9
    tensorflow_gpu-1.8.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.10.0    7    9
    tensorflow_gpu-1.7.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.9.0    7    9
    tensorflow_gpu-1.6.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.9.0    7    9
    tensorflow_gpu-1.5.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.8.0    7    9
    tensorflow_gpu-1.4.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.5.4    6    8
    tensorflow_gpu-1.3.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.5    6    8
    tensorflow_gpu-1.2.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.5    5.1    8
    tensorflow_gpu-1.1.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.2    5.1    8
    tensorflow_gpu-1.0.0    2.7、3.3-3.6    GCC 4.8    Bazel 0.4.2    5.1    8
    现在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对应关系

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.2

    Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 9.0

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 10.0

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.2

    Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 9.0

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.2

    Download cuDNN v7.3.1 (Sept 28, 2018), for CUDA 9.0

    Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 10.0

    Download cuDNN v7.3.0 (Sept 19, 2018), for CUDA 9.0

    Download cuDNN v7.2.1 (August 7, 2018), for CUDA 9.2

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.2

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 9.0

    Download cuDNN v7.1.4 (May 16, 2018), for CUDA 8.0

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.1

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.0

    Download cuDNN v7.1.3 (April 17, 2018), for CUDA 8.0

    Download cuDNN v7.1.2 (Mar 21, 2018), for CUDA 9.1 & 9.2

    Download cuDNN v7.1.2 (Mar 21, 2018), for CUDA 9.0

    Download cuDNN v7.0.5 (Dec 11, 2017), for CUDA 9.1

    Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0

    Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 8.0

    Download cuDNN v7.0.4 (Nov 13, 2017), for CUDA 9.0

    Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0

    Download cuDNN v6.0 (April 27, 2017), for CUDA 7.5

    Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0

    Download cuDNN v5.1 (Jan 20, 2017), for CUDA 7.5

    Download cuDNN v5 (May 27, 2016), for CUDA 8.0

    Download cuDNN v5 (May 12, 2016), for CUDA 7.5

    Download cuDNN v4 (Feb 10, 2016), for CUDA 7.0 and later.

    Download cuDNN v3 (September 8, 2015), for CUDA 7.0 and later.

    Download cuDNN v2 (March 17,2015), for CUDA 6.5 and later.

    Download cuDNN v1 (cuDNN 6.5 R1)

    三、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
    Geforce RTX 2060    7.5
    NVIDIA TITAN V    7.0
    NVIDIA TITAN Xp    6.1
    NVIDIA TITAN X    6.1
    GeForce GTX 1080 Ti    6.1
    GeForce GTX 1080    6.1
    GeForce GTX 1070    6.1
    GeForce GTX 1060    6.1
    GeForce GTX 1050    6.1
    GeForce GTX TITAN X    5.2
    GeForce GTX TITAN Z    3.5
    GeForce GTX TITAN Black    3.5
    GeForce GTX TITAN    3.5
    GeForce GTX 980 Ti    5.2
    GeForce GTX 980    5.2
    GeForce GTX 970    5.2
    GeForce GTX 960    5.2
    GeForce GTX 950    5.2
    GeForce GTX 780 Ti    3.5
    GeForce GTX 780    3.5
    GeForce GTX 770    3.0
    GeForce GTX 760    3.0
    GeForce GTX 750 Ti    5.0
    GeForce GTX 750    5.0
    GeForce GTX 690    3.0
    GeForce GTX 680    3.0
    GeForce GTX 670    3.0
    GeForce GTX 660 Ti    3.0
    GeForce GTX 660    3.0
    GeForce GTX 650 Ti BOOST    3.0
    GeForce GTX 650 Ti    3.0
    GeForce GTX 650    3.0
    GeForce GTX 560 Ti    2.1
    GeForce GTX 550 Ti    2.1
    GeForce GTX 460    2.1
    GeForce GTS 450    2.1
    GeForce GTS 450*    2.1
    GeForce GTX 590    2.0
    GeForce GTX 580    2.0
    GeForce GTX 570    2.0
    GeForce GTX 480    2.0
    GeForce GTX 470    2.0
    GeForce GTX 465    2.0
    GeForce GT 740    3.0
    GeForce GT 730    3.5
    GeForce GT 730 DDR3,128bit    2.1
    GeForce GT 720    3.5
    GeForce GT 705*    3.5
    GeForce GT 640 (GDDR5)    3.5
    GeForce GT 640 (GDDR3)    2.1
    GeForce GT 630    2.1
    GeForce GT 620    2.1
    GeForce GT 610    2.1
    GeForce GT 520    2.1
    GeForce GT 440    2.1
    GeForce GT 440*    2.1
    GeForce GT 430    2.1
    GeForce GT 430*    2.1
    (2)GeForce Notebook Products(笔记本电脑)

    GPU    Compute Capability
    Geforce RTX 2080    7.5
    Geforce RTX 2070    7.5
    Geforce RTX 2060    7.5
    GeForce GTX 1080    6.1
    GeForce GTX 1070    6.1
    GeForce GTX 1060    6.1
    GeForce GTX 980    5.2
    GeForce GTX 980M    5.2
    GeForce GTX 970M    5.2
    GeForce GTX 965M    5.2
    GeForce GTX 960M    5.0
    GeForce GTX 950M    5.0
    GeForce 940M    5.0
    GeForce 930M    5.0
    GeForce 920M    3.5
    GeForce 910M    5.2
    GeForce GTX 880M    3.0
    GeForce GTX 870M    3.0
    GeForce GTX 860M    3.0/5.0(**)
    GeForce GTX 850M    5.0
    GeForce 840M    5.0
    GeForce 830M    5.0
    GeForce 820M    2.1
    GeForce 800M    2.1
    GeForce GTX 780M    3.0
    GeForce GTX 770M    3.0
    GeForce GTX 765M    3.0
    GeForce GTX 760M    3.0
    GeForce GTX 680MX    3.0
    GeForce GTX 680M    3.0
    GeForce GTX 675MX    3.0
    GeForce GTX 675M    2.1
    GeForce GTX 670MX    3.0
    GeForce GTX 670M    2.1
    GeForce GTX 660M    3.0
    GeForce GT 755M    3.0
    GeForce GT 750M    3.0
    GeForce GT 650M    3.0
    GeForce GT 745M    3.0
    GeForce GT 645M    3.0
    GeForce GT 740M    3.0
    GeForce GT 730M    3.0
    GeForce GT 640M    3.0
    GeForce GT 640M LE    3.0
    GeForce GT 735M    3.0
    GeForce GT 635M    2.1
    GeForce GT 730M    3.0
    GeForce GT 630M    2.1
    GeForce GT 625M    2.1
    GeForce GT 720M    2.1
    GeForce GT 620M    2.1
    GeForce 710M    2.1
    GeForce 705M    2.1
    GeForce 610M    2.1
    GeForce GTX 580M    2.1
    GeForce GTX 570M    2.1
    GeForce GTX 560M    2.1
    GeForce GT 555M    2.1
    GeForce GT 550M    2.1
    GeForce GT 540M    2.1
    GeForce GT 525M    2.1
    GeForce GT 520MX    2.1
    GeForce GT 520M    2.1
    GeForce GTX 485M    2.1
    GeForce GTX 470M    2.1
    GeForce GTX 460M    2.1
    GeForce GT 445M    2.1
    GeForce GT 435M    2.1
    GeForce GT 420M    2.1
    GeForce GT 415M    2.1
    GeForce GTX 480M    2.0
    GeForce 710M    2.1
    GeForce 410M    2.1
     

    展开全文
  • 导语 最近发现自己用了5年的笔记本,拥有独立显卡 也就是说,他有GPU!!! 当然,又等于无。查了一下,网友骂骂喋喋: ...确实,我玩英雄联盟都卡的跳帧,也因此几乎不玩任何游戏...CUDA 疑问 奇怪的想法 设么 ...

    文章多图,又长又水

    如果想当教程看的话,请仔细并完整地阅读本文,因为笔者将过程中的一些反面教材都写下了。

    对了,本文存在干货:win10,cuda8.0,pytorch0.4.0的环境配置

    一、导语

    最近发现自己用了5年的笔记本,拥有独立显卡
    在这里插入图片描述
    在这里插入图片描述
    也就是说,他有GPU!!!
    在这里插入图片描述
    当然,有等于无。查了一下对这款显卡的评价,网友骂骂咧咧:
    在这里插入图片描述
    在这里插入图片描述
    确实,我玩英雄联盟都卡的跳帧,也因此几乎不玩任何游戏(王者手游不算),严重怀疑我爸当年给我挑这款笔记本是为了让我好好学习。

    二、显卡、GPU、显卡驱动、CUDA、Cudnn等

    先明确一下几个概念:

    1. 显卡就是GPU,硬件,实际中干活的那个;
    2. 显卡驱动,字面意思,相当于监工,驱动着显卡来干活,没有它你不知道怎么去指示显卡搬砖,底层接口;
    3. CUDA,通用的并行计算架构,应用程序接口(API),相当于老板,他管着楼上的监工,应用层上的东西了,让用户能够轻松一点地使用GPU加速运算跑网络炼丹啥的。
    4. cudnn,这个其实没啥,主要是一些专门用于深度神经网络计算的库。

    显卡有自己的型号,驱动有自己的版本,CUDA也一样有自己的版本,每一种CUDA有与之对应的cudnn的版本。让用户很烦的一点就是型号和版本之间有何对应的兼容性限制,安装时得注意,但是官方也没有给出一个什么型号的显卡应该用什么版本的CUDA、驱动的文档(可能是我没找到),大部分靠网友们博客的指导。。NVIDIA厂商应该想的是自己产的显卡越来越厉害,推出的CUDA越来越新,得让大家买新的显卡才能赚钱,所以新版本的CUDA就不支持老一点的显卡。。。

    关于这方面的知识还是相当复杂的吗,详见显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?看不懂得东西还是很多的,也是一门学问,想起了被微机原理支配的恐惧。

    三、奇怪的想法

    1 在自己的笔记本上装上CUDA能使用GPU计算吗?

    为此特地做了个小实验,牺牲了C盘三个多G的空间装上了CUDA10.2,安装过程顺利。前面详细描述了失败的过程,可以不看,也可以瞅瞅,还是蛮有(qi)趣(ren)的。下面有根分割线,分割线以下的内容是成功的部分。
    在这里插入图片描述
    在这里插入图片描述
    接下来就要看看能不能用它来加速计算了。
    在这里插入图片描述
    哦豁不行,之前装的torch是1.4.0+cpu版本的,还得重新装个cuda10.2版本的。。。

    pip install ……

    装好了,再来亿次。

    安装了torch1.4.0cu101,但是用不了。。。
    在这里插入图片描述
    应该是没有装显卡驱动的问题。去NVIDIA官网下载驱动程序。
    在这里插入图片描述
    上一次来这个网站还是给实验室服务器刚买回来的时候,给他装驱动,当时旁边都是大佬师兄们,听他们指使,让装啥就装啥,什么也不懂。这回过来倒是看懂了一些东西。实验室的显卡是两个大泰坦,Tesla倒是在很多论文里看到作者用。自己的配置。。。
    在这里插入图片描述
    下载类型一开始选的Studio,我是内容创作者,不过被打脸了。
    在这里插入图片描述
    在这里插入图片描述
    所以类型还是选游戏那个(可是我不玩游戏啊。。。)

    下载完了之后,安装没成功。。。在安装的第一步兼容性检测上就说不兼容,查了一下,大概是要把之前的驱动给卸干净了,再重新装。可能还要重装系统,怕了怕了。只是想试试显卡加速计算的效果,不敢再倒腾小破笔记本了。后面有机会的话,搞明白其中的道道再回来填坑吧。
    ——————————————————分割线———————————————————————
    不对劲,我明明早就装好了驱动。(之前脑子进水以为是显卡驱动的问题)
    在这里插入图片描述
    在这里插入图片描述
    那为啥import torch失败了?

    猜测pytorch版本与CUDA不对应。之前装pytorch一直是通过国内源安装的,因为快。最近发现pytorch官网的下载速度也上来了!贴一个官方的下载源

    还是好慢……

    还是不行,装完了cuda10.2版本的torch1.5.0,torch.cuda.is_available()返回的还是不可用。。。
    在这里插入图片描述
    在这里插入图片描述
    那到底是什么原因呢?显卡型号,cuda版本,显卡驱动的版本,还有torch的版本之间到底有什么对应关系?官网给了给的一些信息,GeForce820M这款显卡从CUDA2.1就开始支持了,而且是向下兼容的。按理说也不会是CUDA版本太高了吧。。。
    在这里插入图片描述
    很烦,搁置了几天,看了两篇博客,重新燃起了希望。。。
    https://www.cnblogs.com/marsggbo/p/11838823.html
    https://blog.csdn.net/csdn_zhishui/article/details/88019158#1CUDA_1
    尤其是第一篇,盲猜是个业界大牛祥写的,先感谢一下。

    问题很可能是CUDA与对应的驱动程序版本不兼容。

    引用博客一的一段话:
    运行CUDA应用程序需要系统至少有一个具有CUDA功能的GPU和与CUDA工具包兼容的驱动程序。每个版本的CUDA工具包都对应一个最低版本的CUDA Driver,也就是说如果你安装的CUDA Driver版本比官方推荐的还低,那么很可能会无法正常运行。CUDA Driver是向后兼容的,这意味着根据CUDA的特定版本编译的应用程序将继续在后续发布的Driver上也能继续工作。通常为了方便,在安装CUDA Toolkit的时候会默认安装CUDA Driver。
    在这里插入图片描述
    引用博客二的一段话:
    在这里插入图片描述
    所以说之前的问题在于我装的是10.2版本的CUDA?重头来过,继续搬砖。下载8.0的CUDA、对应的cudnn、对应的pytorch,好慢啊。。。

    噩耗。。。这回装好了cuda,cudnn,pytorch也算是好了吧。。。然而在import torch的时候出错了。
    在这里插入图片描述
    可能是缺东西,我想从官网上下载指定的包,但是对应于cu8.0的包都已经没了,最早的都是9.2的包,各大国内源也都翻了,唯一一个包就是上面出问题的那个。。。难道真就这么快把过去的版本淘汰了???暂时放弃了。。。

    理论上说,应该是可以用的,很想体验一下这块小破显卡的水准的。
    ————————————————————分割线————————————————————————
    兄弟们我回来了。2020/5/26补充:
    总算搞定了。事情的转机是这样的,我看了一下CUDA8.0对应的pytorch版本除了1.01、1.00,还有0.4.0,虽然隔得比较久了,但是下载下来试了一下,竟然可以!
    在这里插入图片描述
    在装torchvision时,顺带也装了pillow、six库,具体干啥的不太清楚,知道的可以评论区指点迷津。
    在这里插入图片描述
    然后就可以快乐地调包了。

    import torch
    print(torch.__version__) # 返回torch版本
    print(torch.cuda.is_available()) # 返回cuda是否可用
    print(torch.cuda.current_device()) # 返回使用的gpu
    

    在这里插入图片描述
    我的老显卡GeForce 820M太旧了,官方不再支持了。。。后续会看看拿它来加速计算的效果如何。

    对了,至于pytorch1.0.1失败的原因,我看到了两种解决方案:

    1. https://blog.csdn.net/xwy990/article/details/80995893在这里插入图片描述
    2. https://www.jianshu.com/p/d654e5534fc1
      在这里插入图片描述
      我自己没尝试因为网站进不去(家里网不行+外网),如果有小伙伴试过敬请指教。

    2 问题有点长

    我在知乎也问了一下,虽然没什么人回答。
    一块装有ubuntu系统的移动固态,怎么同时用在自己的笔记本(CPU)和实验室服务器呢?
    实验等到回学校再搞搞吧。
    待更新、、、、、、、、、、、、、、、、、
    ————————————————————分割线————————————————————————
    很久之后,7月20日
    在实验室的服务器上用了这个外接固态的系统,在ubuntu下安装了显卡驱动,基本上能正常使用,有个别bug但是不影响使用,可能是因为微星的主板对linux稍微有点问题?

    插在服务器上用了一段时间体验还行,今天把它拔了下来,想插回自己的破笔记本做点小实验,结果出问题了。。。开机时进入BIOS后可以检测到ubuntu,但是进不去了,选择ubuntu也是会进入win10。。难不成是因为装了显卡驱动导致了啥问题???

    完了,重新插回服务器也不管用了。

    五、CPU和GPU怎么配合工作

    这个问题主要是想搞明白在有GPU的情况下,什么时候CPU工作、什么时候GPU工作,两者同时工作怎么协调,还挺复杂的。。。

    展开全文
  • NVIDIA支持CUDA显卡选型简述

    千次阅读 2021-07-30 02:04:03
    目录NVIDIA支持CUDA显卡选型简述一、概述1、为什么选这三款二、对比1、训练--trainingCPUGPU的区别计算精度显存和显存带宽价格2、训练环境的选择3、推理--inference吞吐量和时延稳定性4、生产环境的选择三、说明...

    **

    NVIDIA支持CUDA的显卡选型简述

    **

    一、概述

    参考链接: nvidia官方网站

    根据nVidia官方介绍,nVidia出品的支持CUDA的产品有
    1、Tesla:用于技术和科学计算
    2、Quadro:用于专业可视化
    3、NVS:用于商务多屏演示
    4、GeForce 和 TITAN:用于游戏娱乐
    5、Jetson:用于边缘测AI自主机器
    五类产品。
    从描述上看,能用于人工智能训练和推理的GPU应该是【Tesla、Quadro、GeForce、TITAN、Jetson】,NVS应该是有多个显示输出接口,以便于商务台式机或笔记本做分屏演示。但是考虑我司的用途,本文档仅对Tesla、GeForce、TITAN等部分系列做对比。

    1、为什么选这三款

    • 【Tesla】系列产品全部由nVidia原厂设计和生产,产品品质和服务更有保障,而且官方明确定义该类产品适用于数据中心和高性能计算场景,简单的说就是服务器专用系列。从材料和驱动上都对科学计算以及人工智能训练和推理做了相应的优化。
      另外,还加入了ECC内存纠错功能,这点是在GeForce系列中没有的。
    • 【GeForce】系列本来针对的是个人用户桌面环境的娱乐使用的,就是游戏影音。该系列产品的设计本就不适合高强度、长时间的工作,而且对于程序和驱动方面的优化也只是针对游戏方面的。在其用户使用协议中也申明了,不能安装在服务器上使用,否则将失去维保和支持。
      但是很多企业和个人也用该系列的某些产品做人工智能研发,因为相比专业的Tesla卡,同等计算能力的情况下,这个更便宜。
      比如我司之前也用过GeForce GTX 1080 Ti 和GeForce GTX 1050 Ti作为研发和生产使用,但是多多少少都出现过问题。就在去年,在客户那里部署的两台生产服务器,每台搭载两张GTX 1080 Ti显卡,其中一台服务器的两张显卡都出现了故障,导致生产停滞,最后不得不联系供应商更换,随后另一台服务的其中一张也出现了故障。这也是我们之前没有查找相关数据以及没有这方面经验导致的。
      实践证明,该系列显卡确实不适合服务器那种高强度高负荷的工作环境,但是作为训练或测试环境还是可以选用其作为专业显卡的代替方案的。
    • 【TITAN】系列,官方列表把TITAN和GeForce放在了同一个列表中,所以我认为二者的定位应该是差不多的。但是为什么nVidia官方又推荐研究人员、开发人员和创作者使用TITAN RTX呢。我感觉这就像他每一代新产品发布的时候都说“这是世界上最先进的GPU”一样。
      我司也是在该卡刚发布的时候(2019年)就采购了一些作为公司的研发生产工具,至于性能如何呢,我也不太清楚了,因为我不是直接使用者。
      这么来看的话,那我感觉用最新的RTX 3090,性价比应该是更高的。因为RTX 3090采用了最新的Ampere架构,CUDA核心和显存带宽远比RTX TITAN高出近1倍,计算精度性能这方面没找到相关的数据,但是根据这个架构,这个配置,也不可能低到哪里去。最重要的是,官方给的价格,RTX 3090比RTX TITAN便宜了1000美刀,京东上的价格,二者也相差3-5k。
      在这里插入图片描述
      在这里插入图片描述
    • 【Quadro】系列,为什么不选它呢,因为老黄准备把这个系列取消了,变成RTX A系列。这个系列的显卡定义是专业图形工作站使用的,简单的说就是绘图,制作,设计等到这类的专业性很强的场景使用的,比如我们熟悉的Adobe全家桶,3DMAX,CAD等这类的软件,而且该类显卡的驱动还在某些专业软件上做过针对性的优化。
      虽然它的性能也很不错了,但是根据设计,它的应用场景同样不适合服务器这种7*24h的高负荷且需要足够的稳定性的场景。而且和GeForce差不多性能的情况下,价格却比GeForce贵出去很多。所以我认为用它来做深度学习训练,有些不太合适。
    • 【Jetson】系列,这个东西被设计成基于arm架构的AI运算模块,功耗很低,10W-30W左右,所以更适合运用在边缘计算场景下。比如我司也有一些产品就搭载了Jetson AGX Xavier,在生产环境中我感觉表现还是很不错的了。

    二、对比

    要从众多类型、型号中选出适合公司应用场景的产品,说老实话,还是不那么容易的,因为这个要结合很多实际生产情况而定,比如,是用在训练还是推理上,是做研发测试还是生产环境上,是主要考虑稳定性还是考虑价格等等的因素。
    根据我司的实际情况,有两个场景需要用到nVidia GPU资源,一个是『训练』,就是在公司的研发测试上,另一个是『推理』,就是在客户方的生产环境部署。

    参考链接:知乎 | 深度学习训练和推理有何不同

    1、训练–training

    训练,就好比我们在学校中学习某个知识或者某项技能一样。人工智能需要完成某项工作,也要接受教育。
    没有训练,就不可能会有推理。这很容易讲通,因为我们人类大多时候就是这样获取和使用知识的。正如我们不需要一直围着老师、满架的书架或名牌院校转也能阅读莎士比亚的十四行诗一样,推理并不需要其训练方案中的所有基础设施就能做得很好。

    CPU与GPU的区别

    在这篇 “为什么深度学习和神经网络需要GPU? - 知乎” 文章中描述了CPU和GPU的设计区别,基本上解释了为什么在进行深度学习相关业务的时候需要用到GPU,主要是因为它快,快得飞起。
    有一个例子我感觉很形象:将CPU比作几个教授,GPU比作很多小学生。当需要进行复杂运算,比如解方程,计算高级函数等等这种操作很显然教授比小学生更出色,当需要进行的计算是简单且大量的四则运算的时候,一个或者几个教授显然比不过成百上千的小学生。而深度神经网络的模型训练就是这种大量的并行的矩阵乘法类似的四则运算,GPU的计算核心和CPU根本就是量级上的差距,而且GPU也更擅长做这类型的计算。

    计算精度

    根据不同的深度学习应用场景,又有各种浮点运算精度的区别,比如“单精度,双精度,半精度,混合精度”等等。我司主要业务是针对图像分类,特征识别等(用词可能不太专业),这并非是计算精度要求十分严格的科学计算,如航空航天,医学,核能等领域,所以在“图像识别”这类模型训练中一般采用的是单精度或半精度,或者混合精度。

    这些各种精度的运算有什么区别,可以参考 知乎 | 单精度、双精度、多精度和混合精度计算的区别是什么?

    显存和显存带宽

    还有一个十分重要的参数就是显卡的显存、位宽、显存频率(显存带宽=显存频率x显存位宽/8)。显存就跟主存(内存)差不多,显存带宽就是显存与GPU交换数据的速率。本博文中即将进行对比的几个型号的显卡内存从8GB到40GB不等,显存带宽也由192GB/s到1555GB/s不等。这是个啥概念呢,比如我们的内存,一般大小是8GB到16GB,DDR4的理论带宽是50GB/s到136GB/s左右。
    显存越大,就代表等待GPU运算核心处理的数据越多,显存带宽越大,就代表GPU运算核心单位时间内可以拿到数据的能力越大(理论上拿到的数据越多),数据交换越顺畅。
    因为在训练中,有大量的素材、中间参数、运算结果等需要存储在显存中,以及运算核心和显存之间在进行着大量的数据交换,所以这个参数也成为深度学习模型训练选择显卡的重要参数了。

    价格

    俗话说:一分钱一分货。要想获得好的体验,好的效果,那必然是要投入足够的成本的,但是无论是个人还是企业,在研发或者生产过程中都必须要考虑成本(家里有矿的除外),这就需要我们在性能和价格上做好衡量,选择性价比相对最优的方案。
    nVidia除了Tesla系列的产品是自己生产加工的(大家称为“公版”)之外,其他系列如GeForce(另外的系列有没有代加工不清楚)都有很多加工厂商。所以根据不同厂商的生产条件如板卡设计,用料等情况的不同,价格和质量都有一些差距。

    2、训练环境的选择

    综上所述,我认为我们在研发测试的训练(推理)场景下可以选择性能较优,价格相对温和的GeForce或TITAN系列的GPU,如TITAN RTX,GeForce RTX 3090、3080Ti等。
    根据nVidia官方给出的数据,我整理了一份表格,可以作为参照。(数据不全,有的是因为官方没给出来,可能定位不一样,给出的参考数据有限。)
    在这里插入图片描述
    在选择『训练』用卡的时候,我们主要注意“张量核心、CUDA核心、精度性能、显存、显存带宽、价格(这个价格比较粗糙,只看了京东上较便宜的一家)”这几个参数。
    我司之前购买的TITAN RTX性价比还是比较高的,但是当时为啥没买RTX 3090呢,因为那时候3090还没出,买不到。。。如果后期还有采购需求,我会建议考虑GeForce RTX 3090。

    3、推理–inference

    推理其实就是将我们研发测试环境训练好的模型部署到生产环境中去进行应用,训练有一个反向传播的过程,因为要不断的调整权重和参数,以达到最好的效果,但是推理则没有反向传播,所以在对硬件的要求上,应该是要低一些的。
    举个不太恰当的栗子,我们在学习的时候要到学校去,要在教室,要有课本,要住宿舍等等,学校教室课本宿舍等这些都是硬件条件,但是我们考试或者毕业之后在解题的时候是不需要这些硬件条件的,这就是训练到推理的过程。
    所以推理的向前传播可以不同于训练,目的是为了更快,比如推理中会删掉一些增强处理、做蒸馏、用加速库等。

    吞吐量和时延

    模型训练的时候侧重计算精度,而推理的时候更注重实时性和速度,也就是模型运行的性能。衡量推理整体性能最简单的办法就是吞吐量,也就是运行某个模型时,每秒钟能够处理的图片数量。平均每张图的用时长度就是时延。一般来说,常用的时延单位是毫秒(ms)。
    芯片的算力性能常用TOPS衡量,即为在深度学习领域的每秒基础算子操作数。如果将芯片的标称算力作为硬件的衡量标准,那么吞吐量则是软硬件一体化作用的结果,和数据结构、模型结构甚至批量处理的批次大小都有很高的相关性。一般来说,对于同样类型和大小的数据,参数量越少的模型,处理的绝对速度就越快,吞吐量就越大。

    nVidia官方给出了Tesla系列部分型号的推理性能数据,参考:NVIDIA 数据中心深度学习产品性能

    图像分类吞吐量

    Tesla V100推理性能

    Tesla T4推理性能

    稳定性

    在生产环境中,除了考虑性能之外,更重要的也要考虑稳定性。因为严格的讲,服务器是7*24h不间断工作的,所以用于服务器环境的GPU也应该具有可靠的稳定性,这点Tesla显然比GeForce或者TITAN表现要好得多。因为根据实践经验,之前在生产环境中使用的GeForce GTX 1080 Ti已经坏了三个了,所以在新的部署环境中,我们选择了Tesla T4这个型号的GPU。

    4、生产环境的选择

    同样,我根据nVidia官方给出的数据,对Tesla部分型号的显卡进行了数据统计。
    在这里插入图片描述
    由此可见,我们选择的Tesla T4这个类型的算力卡性价比也还不错,或者也可以考虑P100和P40这两个类型的产品。但是从价格上看,我个人更偏向于T4。

    三、说明

    1、自我说明

    本人对于深度学习、神经网络,以及GPU硬件都不是很了解,只是在这一年多的接触中耳濡目染,“偷听”到一些名词,然后结合网上找的资料,写出来这篇“自以为是”的博文,所以,如果有不对的地方,欢迎读者批评指正,我本人也会继续学习,希望能自我修正。

    2、名词说明

    关于深度学习的一些名词解释,这个链接进行了描述:深度学习名词解释

    CPU,GPU,TPU,NPU都是什么?
    • 中央处理器(CPU),是电子计算机的主要设备之一,电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速及实现它们缓冲处理器之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。
    • 图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
    • TPU(Tensor Processing Unit)即张量处理单元,是一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,它有更高效能(每瓦计算能力)。
    • 嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。NPU处理器专门为物联网人工智能而设计,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。

    原文链接:https://blog.csdn.net/qq_44159782/article/details/117416930

    3、nVidia显卡架构

    在这里插入图片描述
    从图上可以看到,nVidia显卡架构是“Tesla(特斯拉)→Fermi(费米) → Kepler(开普勒) → Maxwell(麦克斯韦) → Pascal(帕斯卡) → Volta(伏特) → Turing(图灵) → Amper(安培)[图上没有,因为这个是最新的架构]”这么个路线,都是一些为科学做过突出贡献的历史名人。。。按照这种发展方向,预计不久的将来可能会发布“爱因斯坦”架构。

    • Tesla(特斯拉): 市面已经没有相关显卡
    • Fermi(费米):GeForce 400, 500, 600, GT-630
    • Kepler(开普勒):Tesla K40/K80, GeForce 700, GT-730
    • Maxwell(麦克斯韦尔): Tesla/Quadro M series GeForce 900, GTX-970
    • Pascal(帕斯卡): Tesla p100,GTX 1080, GTX 1070, GTX 1060
    • Votal(伏打): Tesla V100, GTX 1180
    • Turing(图灵): T4,GTX 1660 Ti, RTX 2060
    • Ampere(安培): A100

    原文链接:NVIDIA显卡及架构介绍

    Tesla(特斯拉)本来是第一代架构,现在发展为数据中心专用GPU型号代名词了。
    另外,因为nVidia将产品分类化,有些设计也在慢慢改变,比如专门用于计算的,大家也称之为“计算卡、算力卡”,这种显卡严格意义上已经不能称之为显卡了,因为它已经将图形输出这部分砍掉了,连个显示器接口都没有了,比如Tesla系列。

    4、个人愚见

    为什么挖矿大多选用的是GeForce这类的游戏卡呢,个人认为是矿场对于显卡的需求体量还是比较大的,而且是追求算力性能的,在控制成本的前提下,选择算力性能较优的游戏卡,是最好的方案。即使是挖着挖着坏了个把子显卡,换了就是了。而且锻炼个一两年,翻个新就卖二手矿卡,还能赚点。
    如果选择Tesla这种专业显卡来挖矿,一个是投入成本高,另一个也不好卖二手的啊,因为用户没那么多。
    所以,有的朋友可能需要购买GeForce这类型的显卡,不管是作为深度学习训练还是个人娱乐使用的时候,都要找可靠的渠道购买,最好不要贪便宜,因为保不准就买到了二手矿卡。
    我严重怀疑我司之前用的出现故障的GeForce GTX 1080 Ti就是翻新卡,因为更换的时候我看到板子背面有大面积像油一样的东西,后来刷到抖音上电子维修的博主,发现这玩意儿就是焊接用的助焊剂(焊油之类的东西),显然是被修过的。。。

    最后,还有一些不错的文章,有兴趣的读者可以参考阅读。

    1、深度学习选什么显卡性价比最高?
    2、深度学习中GPU和显存分析

    展开全文
  • ,依次选择 CUDA 类型然后下载对应的CUDA即可,下面以CUDA8.0为例:    如果有图形化界面则需要禁用x-window服务  安装cuda驱动 sh cuda_8.0.61_375.26_linux.run 1 注:  这个时候会有很多提示需要...

     

    2018年03月10日 12:22:16 HaiwiSong 阅读数:9084

    搞机器学习也有一段时间了,每次部署GPU开发环境就是一场战争,先记录一下基本步骤,结合网上资料和个人实践整理如下:
    
    • 1

    1、检查BIOS启动项,关闭一些选项

    在开机启动项的Security选项中检查UEFI是否开启,如果开启的话请立马关掉它(重要) 
    在开机启动项的Boot选项中检查Secure Boot是否开启,如果开启的话请立马关掉它(重要)

    2、安装相关依赖

    sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
    sudo apt-get install --no-install-recommends libboost-all-dev
    sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
    sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
    • 1
    • 2
    • 3
    • 4

    如果有图形化界面则需要禁用x-window服务

    sudo service lightdm stop
    或
    sudo /etc/init.d/lightdm stop
    • 1
    • 2
    • 3

    3、禁用 nouveau

    安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 sudo vim /etc/modprobe.d/blacklist.conf文件中添加一条禁用命令

    blacklist nouveau
    blacklist lbm-nouveau
    options nouveau modeset=0
    alias nouveau off
    alias lbm-nouveau off
    • 1
    • 2
    • 3
    • 4
    • 5

    执行如下命令:

    echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf build the new kernel by:
    • 1

    最后更新后重启电脑

    sudo update-initramfs -u
    reboot
    • 1
    • 2

    4、查询NVDIA驱动

    首先去官网 http://www.nvidia.com/Download/index.aspx?lang=en-us 查看适合自己显卡的驱动并下载:驱动文件后缀名应当是以.run结尾的。如显卡为GeForce GTX1060型号的驱动如下: 
    这里写图片描述 
    下载完后安装即可,之后就能用nvidia-smi命令了 
    这里写图片描述

    5、安装CUDA库

    进入 https://developer.nvidia.com/cuda-downloads,依次选择 CUDA 类型然后下载对应的CUDA即可,下面以CUDA8.0为例: 
    这里写图片描述 
    如果有图形化界面则需要禁用x-window服务 
    安装cuda驱动

    sh cuda_8.0.61_375.26_linux.run
    • 1

    注: 
    这个时候会有很多提示需要你确认,由于在第一步已经成功安装了显卡驱动,所以这里就不需要再次安装了,因此 ,Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 3XX.XX ?这里选择 no,其余都是yes或者accept

    在.bashrc添加环境变量后source .bashrc

    export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    • 1
    • 2

    6、验证CUDA是否安装成功

    cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
    sudo make
    ./deviceQuery
    • 1
    • 2
    • 3

    若看到类似以下信息则说明 cuda 已安装成功: 
    这里写图片描述

    7、安装cuDNN

    cuDNN是GPU加速计算深层神经网络的库。首先去官网 https://developer.nvidia.com/rdp/cudnn-archive下载cuDNN,需要注册一个账号才能下载。下载如下: 
    这里写图片描述

    下载后进行解压:

    tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz
    • 1

    进入cuDNN5.0解压之后的include目录,在命令行进行如下操作:

    cd cuda/include
    sudo cp cudnn.h /usr/local/cuda/include  #复制头文件
    • 1
    • 2

    再将进入lib64目录下的动态文件进行复制和链接:

    cd ..
    cd lib64
    sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
    cd /usr/local/cuda/lib64/
    sudo chmod +r libcudnn.so.5.0.5
    sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
    sudo ln -sf libcudnn.so.5 libcudnn.so
    sudo ldconfig
    展开全文
  • CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 2、什么是CUDNN NVIDIA cuDNN是用于深度神经...
  • ubutntu16.04 1660ti cuda cudnn安装环境说明Ubuntu安装显卡驱动安装主要代码cuda9.0安装小结:cudnn安装后续1小结:后续2 环境说明 项目 版本 linux ubuntu16.04 gpu NVIDIA 1660ti cpu Intel i5-9400F...
  • 通常针对NVIDIA显卡,使用nvidia-smi命令,在cmd窗口下输入nvidia-smi命令,显示所安装的显卡类型,所支持的CUDA版本等信息。如下 可以看到显卡的型号为GeForce GT 730,驱动版本号461.37,对应的CUDA版本11.2,...
  • Ubuntu安装显卡驱动 Ubuntu安装CUDA Ubuntu安装CUDA 10 Ubuntu安装CUDA cuDNN
  • 进入Nvidia cuda下载地址: Nvidia cuda10.2下载地址 我们这里选择的Ubuntu 18.04下的deb安装类型。然后依次执行下述官方提供的7条命令: wget ...
  • 驱动下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn,选择自己的显卡型号,下载类型选择Studio驱动程序(开发用),之后点击搜索。 下载页面中,点击下载即可。为保证运行时版本一致,建议下载450...
  • 开发过程中需要用到GPU时,通常在安装配置GPU的环境...大家可能对CUDACUDA Driver、CUDA Toolkit、CUDNN、NCVV等概念比较模糊,它们之间的关系也不太清楚,本文中会逐步介绍,最后教大家如何安装正确版本的显卡驱动。
  • 显卡、GPU和CUDA简介

    万次阅读 多人点赞 2015-05-09 18:03:54
    什么是显卡?GPU跟显卡什么关系?CUDA和GPU又是什么关系?本文将一一解答。
  • 显卡、GPU和CUDA的概念整理

    千次阅读 2019-07-30 11:30:06
    声明 本文大部分摘自别人的博客,归纳整理。各博客链接在底部。 什么是显卡显卡(Video card,Graphics card)全称显示接口卡...具体来说,显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器显示...
  • NVIDIA官方查询网址
  • cuda显卡驱动版本

    2021-02-05 13:07:00
    wm_concat 该方法来自wmsys下的wm_concat函数,属于Oracle内部函数,返回值类型varchar2,最大字符数4000 ...HDU4003Find Metal Mineral[树形DP 分组背包]Find Metal Mineral Time ...
  • 查看电脑显卡(GPU)是否支持CUDA

    万次阅读 多人点赞 2020-03-04 14:46:26
    创建于:2020.03.04 修改于:2020.03.04 文章目录1、背景知识2、查看方法3、参考连接 1、背景知识 win10环境下,在Anaconda环境里面,想安装tensorflow...CUDA(Compute Unified Device Architecture),是显卡厂商N...
  • centos安装GPU显卡驱动、CUDA和cuDNN库

    千次阅读 2019-04-08 18:18:40
    进入 https://developer.nvidia.com/cuda-downloads,依次选择 CUDA 类型然后下载对应的CUDA即可,下面以CUDA8.0为例:    如果有图形化界面则需要禁用x-window服务  安装cuda驱动 sh cuda_8.0.61_375.26_...
  • Centos8.2 搭建显卡驱动+CUDA+CUDNN

    千次阅读 2020-11-06 23:56:02
    文章目录Centos8.2 搭建显卡驱动+CUDA+CUDNN一、安装显卡驱动1、禁用nouveau2、安装显卡驱动(1)安装依赖(2)安装显卡驱动二、安装CUDA1、安装CUDA2、配置环境变量3、验证CUDA是否安装成功三、安装CUDNN安装CUDNN...
  • 显卡驱动+cuda+cudnn 选择阿里镜像,然后选一个驱动,推荐384。。。。就千万别改这个。 装机后的处理 开机提示:检测到系统程序出现问题 修改方法: 打开终端,输入 sudo gedit /etc/default/apport ...
  • 我下载的版本是CUDA10.2  选择CUDA的安装环境,安装类型我这里以 在线安装(network)为例 4. 安装CUDA:双击执行下载的exe文件,会先解压文件到临时目录(不是安装目录),保持默认即可 5. 安装过程:选择自定义 ...
  • Ubuntu18.04 安装 显卡驱动 Nvidia Driver CUDA CUDNN GPU 版本的Pytorch 2.1 为何选择PyTorch? Pytoch 由4个主要的包组成: torch: 类似于Numpy的通用数组库,可将张量类型转换为torch.cuda.TensorFloat,并在...
  • CUDA的版本电脑显卡版本相关:(截图来自NVIDIA DEVELOPER官网) 那么如何查看自己的电脑显卡驱动版本呢?我的电脑是win10 1、打开控制面板 2、在查找中输入NVIDIA,打开NVIDIA控制面板 3、点击上面菜单栏的...
  • Linux中禁用nouveau kernel driver后,导致系统无法进入的解决方案 在安装cuda的时候,由于涉及到NVIDIA驱动的安装,使得nouveau驱动NVIDIA驱动冲突,为了能够 在安装cuda的时候,由于涉及到NVIDIA驱动的安装,...
  • 安装程序类型这里是deb(local)就行。接下来就是如下官网提供的命令。 wget ...
  • 一、驱动安装 1、了解自己的显卡型号,可以下载一个鲁大师或者CPUID CPU-Z这个软件查看自己的显卡详情。...注意下载类型,如果你是和我一样是做深度学习的,下载studio驱动程序,如果是玩游戏就下载GameReady驱.
  • 显卡:(GPU)主流是Nvidia的GPU,深度学习本身需要大量计算。GPU的并行计算能力,在过去几年里恰当地满足了深度学习的需求。AMD的GPU基本没有什么支持,可以不用考虑。 驱动:没有显卡驱动,就不能识别GPU硬件,不...
  • cuda是NVIDIA提出的并行计算平台,只有NVIDIA的显卡支持,但是比起opencl,cuda在使用上更方便,因为opencl是开放标准,封装上做的可能没有那么好,现在NVIDIA的显卡使用的多一些,所以cuda也就比较多用。...
  • 原来我在服务器刚买回来时(2016.4)上本来是这个版本安装的:ubuntu 14.04 + GTX TITANX 显卡驱动驱动直接官网下载当时最新+cuda7.5+opencv 3.0.0rc+matalbr2014a,没问题,师弟一拨乱搞把显卡驱动搞崩了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,755
精华内容 1,902
关键字:

显卡类型与cuda