NVDIA显卡驱动, CUDA, cuDNN概念及安装顺序

2023-10-14 10:30

本文主要是介绍NVDIA显卡驱动, CUDA, cuDNN概念及安装顺序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、什么是CUDA

        CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。


2、什么是CUDNN

        NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。


3、CUDA与CUDNN的关系

      CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

 

cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

总结:cuDNN与CUDA没有一一对应的关系

 


4、CUDNN不会对CUDA造成影响

官方Linux安装指南表述:

        从官方安装指南可以看出,只要把cuDNN文件复制到CUDA的对应文件夹里就可以即是所谓插入式设计,把cuDNN数据库添加CUDA里,cuDNN是CUDA的扩展计算库,不会对CUDA造成其他影响。

cuDNN的安装文件有两个文件夹,共五个文件,如下

cudnn.h是调用加速库的文件,*.os是

CUDA平台里对应文件夹的文件,如下

可以看到,CUDA已有的文件与cuDNN没有相同的文件,复制CUDNN的文件后,CUDA里的文件并不会被覆盖,CUDA其他文件并不会受影响。


作者:Sunglam
链接:https://www.jianshu.com/p/622f47f94784
来源:简书
 

 

Tensorflow不同版本要求与CUDA及CUDNN版本对应关系

原文链接:https://blog.csdn.net/oMoDao1/article/details/83241074

 

 

5、显卡,显卡驱动

  • 显卡: 简单理解这个就是我们前面说的GPU,尤其指NVIDIA公司生产的GPU系列,因为后面介绍的cuda,cudnn都是NVIDIA公司针对自身的GPU独家设计的。
  • 显卡驱动:很明显就是字面意思,通常指NVIDIA Driver,其实它就是一个驱动软件,而前面的显卡就是硬件。
  • gpu架构:Tesla、Fermi、Kepler、Maxwell、Pascal
  • 芯片型号:GT200、GK210、GM104、GF104等
  • 显卡系列:GeForce、Quadro、Tesla
  • GeForce显卡型号:G/GS、GT、GTS、GTX

原文blog:https://cloud.tencent.com/developer/article/1536738

 

 

6、NVDIA显卡驱动 和 CUDA 的区别

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和显卡驱动是没有一一对应的。
原文链接:https://blog.csdn.net/qq_27825451/article/details/89082978

 

 

7、NVDIA显卡驱动, CUDA, cuDNN, tensorflow安装顺序

很多过来人推荐的顺序是:

1.NVDIA显卡驱动, 2.CUDA, 3.cuDNN, 4.tensorflow

注意版本号相互兼容

 

1.检查自己的显卡,以及显卡驱动

2.选择CUDA toolkit

3.选择cuDNN

4.tensorflow-gpu

 

查看GPU版本(N卡)
lspci | grep -i nvidia

查看nvidia驱动版本
cat /proc/driver/nvidia/version

查看CUDA版本
cat /usr/local/cuda/version.txt
nvcc -V # nvidia 编译器版本

查看cuDNN版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

查看tensorflow版本
pip list | grep tensorflow

原文:https://www.jianshu.com/p/464fefb5c5d8

 

推荐blog:

win10 tensorflow-gpu 2.0安装教程 - 知乎 (流程比较清楚)
https://zhuanlan.zhihu.com/p/68183767

Ubuntu18.04安装cuDNN和Tensorflow的正确姿势_FlyWine的博客-CSDN博客 (详细)
https://blog.csdn.net/wf19930209/article/details/95332984

Ubuntu16.04 + 1080Ti深度学习环境配置教程 - 简书  (偏向细节)
https://www.jianshu.com/p/5b708817f5d8

 

 

8、cuDNN安装

首先说一下网上大多数中文安装cuDNN教程的错误方式,这种方式真的坑人无数。

简单地说网上的大多错误的安装cuDNN的方式都是将下载后的cuDNN压缩包解压。然后再将cudnn的头文件(cuda/include目录下的.h文件)复制到cuda安装路径的include路径下,将cudnn的库文件(cuda/lib64目录下的所有文件)复制到cuda安装路径的lib64路径下。这种方法如果不重置cuDNN相应的符号链接的话是不能成功的安装cuDNN的。
 

原文blog:

最正确的姿势安装cudnn,网上大多数教程都太坑了_cuda,cudnn安装,ubuntu_Lucifer_zzq的博客-CSDN博客
https://blog.csdn.net/Lucifer_zzq/article/details/76675239

 

9. 显卡型号 和 CUDA 的关系

需要查看本机的显卡型号支持的CUDA版本,然后安装对应的CUDA。

如何检查显卡支持哪个版本的CUDA -百度经验
https://jingyan.baidu.com/article/6fb756ec4fabc4241858fbf7.html

 

10. ubuntu 安装多个CUDA版本 并 随时切换CUDA

实现不同版本的CUDA之间的切换,需要修改 软连接。

ubuntu 安装多个CUDA版本并可以随时切换_yinxingtianxia的博客-CSDN博客
https://blog.csdn.net/yinxingtianxia/article/details/80462892

CUDA8.0和9.0版本切换_自己的学习笔记-CSDN博客
https://blog.csdn.net/u010821666/article/details/79957071

 

如果没有root权限,可以参考以下blog

Pytorch 使用不同版本的 cuda - yhjoker - 博客园
https://www.cnblogs.com/yhjoker/p/10972795.html

11. GPU 的Compute Capability不是量化GPU性能高低的指标

其实代表的是 GPU版本号,每一种在计算能力都拥有着不同的特点,主版本号和次版本号在硬件细节上亦有不同。

CUDA计算能力的含义_qq_25147897的博客-CSDN博客
https://blog.csdn.net/qq_25147897/article/details/78391534

 

这篇关于NVDIA显卡驱动, CUDA, cuDNN概念及安装顺序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209909

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址