本文最后更新于 2025-04-03,文章内容可能已经过时。

gcc切换版本

禁用nouveau

笔者在笔记本电脑上安装了原生的Ubuntu22.04,但是其实一直使用的是Windows的台式在进行开发。今天在外时,需要训练一个LSTM模型,但是训练时发现,虽然安装了pytorch,但是仍然使用的CPU,在图书馆笔记本差点起飞。

于是笔者经过测试,发现是没有安装Nvidia Driver的缘故,接下来就一起来看一下如何安装。

下载驱动

前往NVIDIA官方查找自己的对应驱动,也可以使用ubuntu-drivers devices 查看推荐

笔者安装的是550版本

下载下来后,是一个.run文件

chmod +x NVIDIA-Linux-x86_64-550.144.03.run
sudo ./NVIDIA-Linux-x86_64-550.144.03.run

在执行时发现,需要禁用本身的nouveau驱动(可以使用命令行自行禁用,.run中也有选项可以禁用)

切换gcc版本

禁用nouveau后仍然无法正常进行,查看log后发现gcc版本不对,编译需要gcc-12,笔者是gcc-11

sudo apt install gcc-12 g++-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 20 --slave /usr/bin/g++ g++ /usr/bin/g++-11
sudo update-alternatives --config gcc

选中gcc-12即可

此时再测试nvidia-smi就是正常的了