最近公司开始ai训练项目,选用kubeflow,开始对其进行研究,苦于资料很少自己总结了一些东西,已供分享,共同学习成长。
以下所记录的内容都是本人亲自操作过的了,坑都已经趟平了,按著操作保证无坑了。ubuntu版本用的是22.04。我是不喜欢截图,没有图片奉上了,自己反复操作多遍了,按步骤操作基本上没啥问题。
先说一下系统选型,选ubuntu是因为有长期支持,且驱动安装便捷,项目部署时可复制性强。最早考虑的是centos7,不过就快不支持了,不具备最终部署时的可复制性,没敢用。centos9不敢用,和centos7不一样了,这个不一样指的是原先centos7是redhat的稳定版,centos9是redhat的测试版,所以也没敢用。
开始进入正题,nv驱动在ubuntu下的安装还是挺简单的,以下按顺序执行就可以安装成功:
一、前提准备阶段
1、关闭ubuntu桌面。看使用者喜好,我是嫌有桌面启动太慢就给关了,并卸载了。
关闭桌面命令:sudo systemctl set-default multi-user.target
关闭后重启:sudo reboot
开启桌面命令:sudo systemctl set-default graphical.target
开启后也要重启:sudo reboot
多说一句:关闭桌面的情况下在命令行界面键入startx就可以进入桌面。
卸载桌面是下面的一段命令
sudo apt-get remove gnome-shell
sudo apt-get remove gnome
sudo apt-get autoremove
sudo apt-get purge gnome
sudo apt-get autoclean
sudo apt-get clean
2、删除已有nv驱动,关闭nouveau。其实刚装好的系统未必有nv驱动,以防万一吧。
先删除已有nv驱动
apt-get remove –purge nvidia*
apt-get remove nvidia*
apt autoremove
关闭nouveau自带显卡驱动
查询lsmod | grep nouveau,如果无输出那就不用弄了,要是有输出往下继续
执行 sudo nano /etc/modprobe.d/blacklist.conf, 在文件末尾添加一句blacklist nouveau
执行sudo update-initramfs -u并重启
重启电脑后执行lsmod | grep nouveau,如果没有输出则说明禁用nouveau成功
二、安装nv驱动
安装nv驱动也有3种方法,下面依次介绍,自行选择安装方式,个人建议在线网络安装,是我介绍的第3种方法。第2种方法不是对linux有相当理解的人千万不要用。
第一种方法:利用ubuntu自己的源安装,稳定性好
apt-get install cuda-drivers-版本号
版本号可以查看一下
ubuntu-drivers devices
选择相应版本号就行。
第二种方法:官方下载驱动,选好操作系统下载,下载后是deb的包或者是.run的文件
deb的包安装如下
dpkg -i nvidia-p100-ubuntu2204-cuda11.7-515.105.01_1.0-1_amd64.deb
apt-get update
apt install cuda-drivers-515
reboot
run的文件安装如下:
run的文件要先赋予可执行权限chmod a+x 文件名
然后直接./文件名.run运行,按提示操作就行。
这个方法有时总有问题,不太建议用。
第三种方法:在线安装,永远是最新,当然也可以选择版本(不过个人感觉选择版本就用上面的方法更好)
https://developer.nvidia.com/search?page=1&sort=relevance&term=cuda11.7
从上面网站直接搜cuda版本,也可以下载安装
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring*.deb
sudo apt-get update
sudo apt-get -y install cuda
驱动安装完nvidia-smi查看,有输出,并看的到显卡就正常了。
正常后uname –a查看内核,查看的内核版本下面的操作用的上,记好了。
下面的操作很重要,是锁定一下内核,这样update时就不怕升级内核把驱动弄掉了。
apt-mark hold linux-image-5.19.0-40-generic
apt-mark hold linux-image-extra-5.19.0-40-generic
apt-mark hold linux-headers-5.19.0-40-generic
上述命令中用的内核版本号是5.19.0-40,自己根据自己的情况更换。
这就算驱动安装完了,如果要用kubeflow的可以不安装cuda和cudnn,因为kubeflow调用的nv显卡pod都带有相应的运行库,如果是本机直接运行ai训练那就还要安装cuda和cudnn等。
安装cudn和cudnn还要注意相应的版本号选择,这个就要具体情况具体分析了。可以多说一下,cuda装完后如果不能正常使用,就增加下面的环境变量。
更改/root/.bashrc文件,追加如下内容
export CUDA_PATH=/usr/local/cuda
export PATH="$PATH:/usr/local/cuda/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
保存后执行source ~/.bashrc,使其生效。
先发一篇,后面就是kubeflow的部署了,得空再继续发,大家共同学习。
上一篇
下一篇
英语词汇 六个表示 “想像” 、“设想” 动词 嘉中 imagine、conceive of、 fancy、visualize、 envisage、 envision 这组词语 ...