step1:显卡驱动安装
本机含一张集显以及一张3080,ubuntu装好后,系统默认使用集显,打开 设置-详细信息 部分即可查看
故先安装NVIDIA的显卡驱动,打开 软件与更新(software & update)- 附加驱动 选择对应版本的驱动即可
详细信息,可在终端中,输入 nvidia-smi 即可查看
附:集显和独显之间的切换(独显一般更为费电)
(1)图形化界面切换,终端输入 nvidia-setting 选择 NVIDIA(Performance Mode) 或 Intel(Power Saving Mode)
(2)命令行切换,直接
sudo prime-select query # 查看当前使用显卡
sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel # 切换intel显卡
注:每次切换,需要重启才可以生效
step2:CUDA安装(官网下载)
这个链接是我下载的11.4,如需要其他版本,在这个网页前后找一下即可
选择对应的系统、架构、还有版本,在installer type这里,两种本地安装,一种network是在线安装,也就是下载安装包在本地装,还是实时下载。网上大部分教程都选择runfile下载,因为其安装指令更加简洁。
这里有一个问题是,我用第一句 wget xxx 输入到终端时,一直看不到进度,也不知道下载了多少,但是弹出了一个链接,复制这个链接用浏览器打开,我用的是chrome,就可以下载下来。网速还可以。
下载后会得到一个文件,我这边是 cuda_11.4.1_470.57.02_linux.run 的文件
然后,可以转到文件所在位置,然后输入第二条指令,sh xxx 的安装指令,也可以直接输入 sudo sh 然后用鼠标把这个从所在位置拖拽到终端 sudo sh 后面,相当于给出他的绝对位置
(这个过程有时候会有点慢,等一会儿就好了,原因的话我个人猜测是相当于从磁盘将CUDA加载道内存中进行安装,CUDA本身有3.几G,所以系统需要一些时间,大约几分钟左右就会进入下面的页面)
然后会有相应提示安装,如果前面已经装了驱动,这边会提示continue\abort之类的,选择 continue即可,然后 accept 他的协议
这是网上的图片(侵删),也就是如果已经做了 step1 安装过 driver 的话,这里就不选 第一项,然后 install
(install之后也会有短暂的时间,界面不会有任何反应,少等一会儿,看到下面的界面表示安装完毕)
这里包括三个内容,一是简单介绍现在的环境,二是提示要配置路径,三是介绍如何卸载CUDA
关于配置路径,我建议直接打开 CUDA 教程,按那里面配置,这是官方提供的,网上教程在这里有些出入我不确定,按照教程里的配置没有出现问题,所以推荐使用官方教程
打开 /.bashrc 文件,有很多种编辑方式,我用的是vim,如果没有装的话可能要安装 vim,或者用其他编辑方式
在终端输入 sudo vim ~/.bashrc ,按下 ℹ 键进入编辑模式,在最后的位置,
第一句,输入 export PATH xxx,
第二句,64 位输入 xxx /lib64\ xxx,32位输入 xxx /lib\ xxx
编辑好后,按 esc 进入命令模式,输入:wq,写入退出。这部分是 vim 的使用。
退出编辑后,输入 source ~/.bashrc,相当于刷新一下,让系统知道设定了什么PATH
然后即可检查CUDA安装是否成功,cd 到 deviceQuery文件去,然后 make(make可能有权限不够的可能,就在前面加上 sudo 即可)
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
这里有一个问题,就是 CUDA Driver Version / Runtime Version 的问题,我在 18.04下,使用460的显卡驱动,Diver Version如图是11.4,但是在20.04下使用460,显示的是11.2,百度后,Driver Version 要大于等于 Runtime Version,其实就是硬件驱动要大于软件运行环境,所以就 purge 了之前的460驱动,改为470,与runtime相匹配。
最终 Result = PASS 意味着CUDA安装完毕。
或者,输入 nvcc -V 也可以验证
在18.04下,我直接输入 nvcc -V会有正常显示
而在 20.04下我输入后提示
安装后, 就有了输出
网上查询后大意是cuda只是个工具包,nvcc是专门对cuda工具包进行编译的,两者没有什么共生关系。
step3:安装cuDNN
官网下载,需要注册,登陆,然后选择对应版本下载
官方指南,进cuDNN感觉挂vpn访问会更加顺畅。
把下载下来的文件解压,进入下载的文件夹,
输入 tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz
然后输入三个 sudo 把相应文件复制到 CUDA 的目录里,就算装完了
验证cuDNN,这部分因为安装部分给了好几种安装方法,主要是Library、Runtime、Developer。这里用的是最简单的方法,也就是仅下载 Library,cuDNN作为一个库。
大部分教程中给出的cuDNN的验证方法是针对 Runtime Debian安装给出的,
debian安装方法自行查看教程。也就是,对 Library 来说,这个验证是没有用的。
我在安装pytorch 后,输入 torch.cuda.is_available() 返回的是true暂
最后,安装 pytorch,我的 CUDA 是 11.4,但在安装界面,选择11.1仍然是可行的
同时,我用pytorch可以查看 CUDA 、cuDNN 以及 pytorch版本
至此,整个过程算是完成了