背景
开发过程中需要用到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
希望对你有帮助。
这个让你们修改为一样的了为啥提交不了帮忙看下word文档标题怎么设置 word文档设置标题样式的方法这个香港服务器链接不了远程云有个服务器挺划算网站无法访问请帮忙查看-虚拟主机/数据库问题如何成为域名注册商电商法草案二审 或禁止网店刷单刷信誉专业域名注册哪家好