了解NVIDAI显卡驱动(包括:CUDA、CUDA Driver、CUDA Toolkit、CUDNN、NCVV)
背景
开发过程中需要用到GPU时,通常在安装配置GPU的环境过程中遇到问题;CUDA Toolkit和CUDNN版本的对应关系;CUDA和电脑显卡驱动的版本的对应关系;CUDA Toolkit、CUDNN、NCVV是什么呢?
举个例子
安装TensorFlow2.1过程中,想要使用到电脑的显卡来进行开发,但是发现默认需要CUDATOOLKIT=10.1,CUDNN=7.6,安装好后发现无法正常使用GPU来运行程序;发现CUDATOOLKIT和我们电脑显卡驱动的版本不支持。
备注:本文中介绍的内容是基于NVIDAI的显卡。
认识一下几个概念
GPU(显卡)
显卡是我们平时说的GPU,现在大多数的电脑使用NVIDIA公司生产的显卡;常见的型号有GTX950M,GTX1050TI,GTX1080等
CUDA Driver
这个是我们常说的显卡驱动,比如电脑显卡型号是GTX950M,显卡驱动的版本:445.87;
CUDA
是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。CUDA英文全称是Compute Unified Device Architecture。
有人说CUDA是一门编程语言,像C,C++,python 一样,也有人说CUDA是API。
官方说:CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。
运行CUDA应用程序要求系统至少具有一个具有CUDA功能的GPU和与CUDA Toolkit兼容的驱动程序。
CUDA Toolkit
CUDA工具包的主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。(通常在安装CUDA Toolkit的时候会默认安装CUDA Driver;但是我们经常只安装CUDA Driver,没有安装CUDA Toolkit,因为有时不一定用到CUDA Toolkit;比如我们的笔记本电脑,安装个CUDA Driver就可正常看视频、办公和玩游戏了)
详细内容可以到NVIDIA官方看看:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components
NVCC
其实就是CUDA的编译器,可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器。
CUDNN
是用于深度神经网络的GPU加速库;它强调性能、易用性和低内存开销。可以集成到高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。
CUDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算;
CUDA这个平台一开始并没有安装CUDNN库,当开发者们需要用到深度学习GPU加速时才安装CUDNN库,工作速度相较CPU快很多
如何查看系统中的显卡驱动版本??
在Linux系统中常用 nvidia-smi 命令查看;
在Windows系统中通常选择 “NVIDIA控制面板”或“NVIDIA GeForce Experience”查看;
这是我的笔记本电脑,刚入大学时买的,配置相对于现在比较差了;显卡型号是GTX950M;是否好奇为什么这么老的显卡能装这么新的显卡驱动,还能很好的工作运行。
CUDA Driver和CUDA Toolkit的对应版本
每个版本的CUDA Toolkit 都对应一个最低版本的CUDA Driver,也就是说如果我们安装的CUDA Driver版本比官方推荐的还低,那么很可能会无法正常运行。
我们安装的CUDA Driver即显卡驱动版本,可以高于CUDA Toolkit 指定的版本,是能正常使用的。
比如:在安装TensorFlow2.1过程中,需要安装CUDATOOLKIT=10.1,
那么我们在windows中的显卡驱动版本应该大于等于418.96;在Linux中的显卡驱动版本应该大于等于418.39。
所以电脑中的GTX950显卡,安装了445.87版本的显卡驱动(445.87>=418.39),是能安装CUDATOOLKIT=10.1的。
CUDNN和CUDA Toolkit的对应版本
CUDNN和CUDA Toolkit两种之间的版本需要相互支持,下面图中是部分的对应关系:
从下图中我们可以知道,如果目前电脑中安装了CUDATOOLKIT=10.1,那么CUDNN的可选版本为7.6.4、7.6.3、7.6.2
比如:需要安装TensorFlow2.1(使用GPU),要求我们只能安装CUDATOOLKIT=10.1,那么我们就从7.6.4、7.6.3、7.6.2这三个版本中,选择一个最新的7.6.4版本来安装CUDNN。
从下图中我们可以知道,如果目前电脑中安装了CUDATOOLKIT=8.0,那么CUDNN的可选版本为7.1.4、7.1.3、7.0.5、6.0、5.1
比如,TensorFlow1.4(GPU版)中需要CUDNN=6.0;同时又符合CUDATOOLKIT=8.0的要求;于是就安装CUDNN=6.0啦。
具体对应版本建议大家到官网查下:https://developer.nvidia.com/rdp/cudnn-archive
希望对你有帮助。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从云下到云上,传统IT工程师的转型
①云计算常识入门②云计算架构搭建③AWS云架构实战 阿森全新专栏《云计算从入门到上瘾》,限时早鸟上线>>>https://blog.51cto.com/cloumn/detail/101 笔者从2018年下半年开始研究公有云服务,契机是由于公司领导想将一部分业务转向云端。笔者向身边很多人请教,发现传统行业用云计算的人还不是特别多,很多人对于云的理解比较片面和极端,一些人把云计算仅仅是理解为虚拟机,他们用云计算就是在阿里云或腾讯云上建很多主机;一些人认为云计算无比可靠,不需要冗余和备份;一些人认为只要用云,就一定能省钱;还有一些人鼓吹去云化。正如从不同的角度看问题,得到的答案是不一样的。从云计算使用者、正在上云的使用者、云计算销售、管理者来看,他们眼中的云计算也是不一样的。 今天,笔者是做为传统的IT工程师,向云计算转型的工程师,云计算的学习者和使用者来看待云计算,也向各种读者来聊聊传统IT工程师眼中的云计算。 云计算是什么: 在学习云计算之前,我们先来搞清楚云计算是什么。云计算服务,即云服务。中国云计算服务网的定义是:指可以拿来作为服务提供使用的云计算产品。包括云主机...
- 下一篇
kkFileView v2.2.0 发布,文件文档在线预览解决方案
kkfileview 文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的 spring boot 搭建,易上手和部署,部署好后可以独立提供预览服务,使用 http 接口访问,不需要和应用集成,具有跨系统跨语言使用的特性。提供 zip/tar.gz 发行包、自定义配置文件、和启动/停止脚本等,极大方便部署使用,同时官方发布 Docker 镜像,方便容器环境中部署使用。基本支持主流办公文档的在线预览,如 doc,docx,dwg, xls,xlsx,ppt,pptx,pdf,txt,zip,rar,7z,mp3,mp4,flv 图片等等。 项目地址:https://gitee.com/kekingcn/file-online-preview 项目官网:https://kkfileview.keking.cn Docker 镜像:https://hub.docker.com/r/keking/kkfileview 本次 v2.2.0 更新内容: 1.新增支持全局水印,并支持通过参数动态改变水印内容 2.新增支持CAD文件预览 3.新增base.url配置,支持使用nginx反...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19