每日一歌,分享好心情:骑在银龙的背上(中岛阿姨,墙推)

问: 在业务中怎样确定显卡驱动和cuda版本呢?

CUDA toolkit下载地址https://developer.nvidia.cn/cuda-toolkit-archive防止迷路(每次都得在nv的网站上溜达一圈才能找到)
一般情况下,显卡的规格文档在 nvidia 官网 搜索可以找到。

一、常说的cuda版本是什么

  1. 我们常说的cuda指的是 nvidia cuda toolkit 软件开发包,而不是不是GPU驱动…
    相应的,cuda版本也即CUDA工具包的版本,而不是显卡驱动版本,请注意~~
  2. 运行cuda应用程序需要有两个前提
    ①硬件:支持cuda的显卡, 很显然
    ②软件:与cuda toolkit兼容的显卡驱动程序
    cuda每个版本都对应一个最低版本的显卡驱动程序
    也就是说,cuda程序是向后兼容的,针对特定版本的 CUDA 编译的应用程序将继续在后续(以后)驱动程序版本上工作。

例如cuda10.x 和cuda11.x对显卡驱动的要求如下:
在这里插入图片描述
在这里插入图片描述

注意:
不同的小版本号对显卡驱动的要求可能是不同的。

  1. 怎么选择cuda版本呢?

查看显卡型号,然后再查看该型号显卡的产品型录中关于cuda的约束。

例如买的是A10显卡,官方产品文档的软件规格项中有

在这里插入图片描述
如果我们的程序需要运行在多种型号的GPU上(通常是这样),那就需要查看各个GPU的文档,选择一个公共的的CUDA版本, 否则开发和运维都比较苦逼,需要维护不通版本的程序、还有一套CI。

二、显卡驱动版本怎么选

正如,第一节中的截图所示,一般每种显卡产品型录有对驱动的约束,我们只需要按照约束选择驱动版本就可以了。

三、一种更合理的办法

前面两个小节说介绍的都是显卡对CUDA和驱动的最低版本要求,但是我们工作中选择时一般不会按照这种方式选择。

下面介绍一种种更合理的方式:

  • 先选择官方推荐的CUDA版本
    驱动面,设置好gpu型号后可以看到官方推荐的cuda版本(一般认为 坑比较少)
    例如常见的T4卡:
    在这里插入图片描述

  • 然后点击 搜索 就会显示nvidia官方推荐的的驱动版本,如下图所示
    在这里插入图片描述

  • 当然,这只是从显卡的角度来选择驱动和cuda版本;
    在实际开发中,还受制于其他的方面,需要综合考虑, 例如支持的TensorRT版本等等…
    tensorRT8 建议的cuda 版本: https://github.com/NVIDIA/TensorRT
    在这里插入图片描述

四、驱动和cuda环境安装完毕,使用nvidia-smi查看一下

在这里插入图片描述

其实是挺简单的问题,刚接触GPU时一直有这个困惑,写下来避免大家走弯路…

have a good day~~

ps, 夏天同学的征友文:
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐