一文搞懂CUDA问题,警告:买不起显卡的勿进

你们好,我是小智,由于疫情缘由致使晶圆缺货,加上挖矿,全球芯源水涨船高。python

小智我是买不起显卡的,此次是基于一位客户的问题。这位客户主要是用来作三维物体的识别,好比箱子识别的,这个仍是颇有意思的,过段时间研究一下,再给你们分享。linux

以前给你们分享过在闲鱼80块钱帮别人搞定ROS问题的文章,最后ROS问题变成了CUDA的环境问题。markdown

有兴趣能够戳:技术变现!!价值80元的闲鱼技术支持都干了啥? #掘金文章# juejin.cn/post/698132…app

后来在闲鱼上查了查,这一类的服务还真的很多,有市场那说明必定有需求。框架

咸鱼cuda.png

因此必定有不少人遇到这个问题,今天小智就来说一讲torch、cudnn、cuda与咱们显卡之间的关系,保证之后你们遇到这一类问题不再用花钱找人搞。ide

首先小智告诉你们一个关于计算机的秘密——全部的操做,最终都会变成处理器的算术和逻辑计算。post

原理介绍

当咱们使用torch进行卷积等运算的时候,最终都会变成在处理器上的算术逻辑计算,那问题就来了,究竟是怎么变成的呢?网站

实际上是这样一条链路ui

卷积运算链路图.png

这里面有五个角色:lua

物理显卡:真正的计算单元,是你须要花钱买的

显卡驱动:与显卡配套的驱动程序(全部的硬件都是须要软件驱动的)

CUDA:CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台,它负责调用显卡驱动完成计算

CUDNN:这是一个插件,没有也能够用,但有了它速度会快不少

torch:这个你们确定很熟悉的框架了,就不介绍了

角色太多,相互之间又是依赖关系,版本又强相关,这就是你们总是装很差的缘由,因此最重要的是搞清楚版本对应关系,一切也就理清楚了。

第一条线:物理显卡与显卡驱动

先使用lshw 查看一下你的显卡型号(看带display的便可),而后到这个网站选一下显卡型号便可:官方 GeForce 驱动程序 | NVIDIA

GeForce驱动程序.png

第二条线:显卡驱动与CUDA对应关系

你们安装完驱动,在linux终端下可使用nvidia-smi查看驱动的版本号

nvidia-smi驱动版本号.png

而后根据版本号对照表咱们能够找到大于367.51的CUDA版本有哪些。

对应cuda版本.png 查表可知,咱们能够安装CUDA8.0以上的CUDA。

第三条线 Torch与CUDA版本对应

torch与cuda版本对应.png 这个图网上摘抄的,顺便说明了与python和torchvision的版本关系,你们只要肯定好torch版本,其余的均可以肯定了。

第四条线 CUDNN与CUDA

之因此把这条线放到最后,是由于即便不使用cudnn也能够进行正常的跑代码了。

那如何匹配CUDA的版本呢?

参考地址:cuDNN Archive | NVIDIA Developer

cudnn与cuda.png

这里的cudann最后都有一个for CUDA的版本号,你们根据版本号找对应的下载就行,下载好以后解压复制到cuda的文件下,就能够完成安装了,是否是很方便

最后给你们附上几个连接:

cudnn下载:cuDNN Archive | NVIDIA Developer

pytorch官网:Previous PyTorch Versions | PyTorch

显卡驱动下载:官方 GeForce 驱动程序 | NVIDIA

cudnn的安装与卸载:CUDA与cuDNN - 简书 (jianshu.com)

下期分享一下怎么用显卡跑gazebo仿真,体验丝滑的赶脚~

欢迎你们关注公众号:机智人