Total

从今年年初反复安装多次Ubuntu+Win双系统,并配置深度学习环境,对Nvidia显卡驱动与Cuda关系认识应该更加清晰。

在配置好的环境中使用nvidia-smi和nvcc -V两个命令都可以查看所谓的cuda版本,但是经常是可以发现二者是不同的。比如我目前的版本, nvidia-smi显示cuda version-11.5,nvcc -V显示cuda version-11.0。

Nvidia显卡驱动与Cuda关系

首先还是先说,Nvidia显卡驱动与Cuda关系。

总的来讲,Cuda是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,我们安装Cuda时有两种安装方式,在线安装和离线安装,我一般使用在线安装deb(network),两种安装方式在形式上区别之外,离线安装的CUDA工具包会默认携带与之匹配特定的驱动程序,也就是大家经常看到博客,Cuda安装时自动安装了显卡驱动。

但是Nvidia显卡驱动与Cuda并不是一对一对应的关系,所以我们在一个系统中可以下载多个版本的Cuda,比如Cuda9.0、Cuda10.0、Cuda11.0,安装足够新版本的Nvidia显卡驱动向下兼容Cuda版本即可。事实上我当前nvidia 驱动版本495.29.05是当前比较新的,我中间电脑显卡出现故障,通过重装多个版本的显卡驱动来排除故障原因,所以Nvidia显卡驱动与Cuda并不是一对一对应的关系,Nvidia显卡驱动只要满足Cuda版本的最低要求即可。

而关于多个版本的Cuda,简单的就是当前版本使用的Cuda有一个显示指针,可以通过指针显示只想不同版本的Cuda,就可使用不同版本的Cuda。现在,这些新版Cuda,比如Cuda11.0安装会自动配置环境变量,我们需要修改的就是环境变量的中指向的Cuda版本。(其实我不能确定,现在安装低版本的Cuda,比如Cuda10.0,会不会配置环境变量了,即不能确定自动配置环境变量是和Cuda新版本绑定的,还是整个安装方式的更新,但是多个Cuda版本使用转换,修改Cuda环境变量即可)。

Cuda的driver API 和runtime API

关于为什么nvidia-smi和nvcc -V两个命令查看Cuda版本不一致呢?

CUDA有两个主要的API,driver API(nivdia-smi中显示的cuda)和runtime API(nvcc -V 显示的cuda),两者都有相应的版本。driver API由显卡驱动安装程序安装,runtime API由CUDA toolkit工具包安装程序安装。所以,可能产生nvidia-smi —>driver API 和nvcc -V —>runtime API,简单的就是,当使用的Nvidia显卡驱动版本高于Cuda版本的最低要求,两个版本就不一致了,但是我们日常使用Cuda时,总是发现,实际版本nvcc -V —>runtime API一致的,即CUDA toolkit工具包安装的。我想是因为我们使用Cuda基于toolkit,所以cuda实际使用版本以nvcc -V中的cuda版本为准。

Reference

  1. tensorflow各个版本的CUDA以及Cudnn版本对应关系
  2. cuda版本在nvcc -V和nvidia-smi中显示不同

Nvidia显卡驱动与Cuda关系,Cuda的driver API 和runtime API相关推荐

  1. Kali Linux 安装Nvidia显卡驱动(二)CUDA, Pyrit and Cpyrit-cuda

    1:已增加KaliLinux官方源或其它源后更新. apt-get update && apt-get upgrade -y && apt-get dist-upgra ...

  2. centos7 cuda测试_Linux/Centos7 nvidia显卡驱动安装 以及安装 CUDA

    1. 安装前的准备 检查是否有Nvidia显卡 lspci | grep -i nvidia 正常应该显示Nvidia显卡的型号,没有任何显示需要更新pci硬件库update-pciids 2.检查显 ...

  3. ubuntu14.04(内核4.4 gcc4.8.4)安装NVIDIA显卡驱动-CUDA-Cudnn-Caffe

    一.安装显卡驱动 https://blog.csdn.net/weixin_38570251/article/details/80001291 1.下载驱动程序 在这个网址搜索自己显卡型号对应的驱动程 ...

  4. DL之IDE:深度学习环境安装之CUDA的简介(显卡GPU/驱动/CUDA间的关系)、安装(根据本地电脑的NVIDIA显卡驱动版本去正确匹配CUDA版本)之详细攻略

    DL之IDE:深度学习环境安装之CUDA的简介(显卡GPU/驱动/CUDA间的关系).安装(根据本地电脑的NVIDIA显卡驱动版本去正确匹配CUDA版本)之详细攻略 目录 CUDA的简介 1.显卡GP ...

  5. NVIDIA rtx3070显卡驱动、算力和cuda版本匹配关系

    问题描述:3070装好显卡驱动,cuda之后无法使用,抛出异常:RuntimeError: CUDA error: no kernel image is available for execution ...

  6. windows10:GTX GeForce 1070+更新nvidia显卡驱动+CUDA+CUDNN+tensorflow_gpu深度学习GPU环境搭建(史上排雷最多版本)

    windows10 GTX GeForce 1070+CUDA9.0+CUDNN7.6.4+TensorFlow_GPU1.5 5天星期前开始搭建tensorflow GPU环境,途中屡屡踩雷, 现在 ...

  7. 【亲测】Ubuntu16.04手动安装nvidia显卡驱动+CUDA 8.0--Acer E5-572G版

    前言 前段时间,配置实验室新服务器上的Tesla P4,结果一直有问题,最后终于解决之后.昨天晚上想在自己的笔记本上安装pytorch,sudo apt-get update的时候,结果提示系统缺少一 ...

  8. CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略

    CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略 目录 本地电脑的NVIDIA显卡驱动版本正确匹配对应的CUDA版本

  9. 01_Win10下CUDA的安装、查看并升级Nvidia显卡驱动、安装CUDA、设置环境变量、测试CUDA是否安装成功

    1.1.Win10下CUDA的安装(此部分只是记录一下安装过程,和上面版本可能不对应) 以下部分来自:https://blog.csdn.net/weixin_41762173/article/det ...

最新文章

  1. LeedCode: 计算器专场
  2. 并联匹配和串联匹配的原理和选择
  3. Python进程multiprocessing. Process()的使用
  4. extern 在c/c++ 中的作用
  5. ios category类别的使用
  6. 高德地图 Android API 的基站定位原理及使用方法
  7. Python argparse模块详解
  8. Form partner relationships early, even if informal
  9. [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
  10. word里双横线怎么打_word双下划线怎么打出来
  11. excel不能复制粘贴怎么回事
  12. php过滤只匹配中英文字符串
  13. 【前沿技术】在安全且可靠的区块链基础设施中运行业务条线应用
  14. 中国自动转换开关控制器行业市场供需与战略研究报告
  15. word文件损坏怎么恢复?
  16. 物理引擎-弹性碰撞动量守恒
  17. Linux进程调度 - CFS调度器 LoyenWang
  18. android基础回顾(三)
  19. 彻底搞懂状态机(一段式、两段式、三段式)
  20. win10html怎么创建后打不开,Win10打不开路由器设置页面(设置界面)怎么办?

热门文章

  1. 自动控制原理(4) - 时域分析
  2. 105,106数学思维
  3. 介绍Redis的各种用途以及使用场景
  4. 【css画圆圈用线连接】
  5. Javascript 实现二维码生成
  6. QML QQuickView透明背景
  7. 【Windows】一键自动设置IP及DNS的批处理脚本
  8. 项目管理:(一)项目管理一般知识
  9. 传统波束形成的算法实现
  10. 巧用订阅功能增加营收|Google Play 线上培训营 · 三月第 1 期