Rocky Linux9配置CUDA

Rocky Linux9配置CUDA

用服务器进行显卡加速的时候,对于Nvidia显卡,需要用到cuda工具包,因此需要提前安装好这个工具之后再对计算软件进行编译。

禁用原始的显卡驱动

先用以下指令查看一下nouveau相关的信息,一般如果机器有显卡的话,执行下面的命令会返回很多信息:

1
lsmod | grep nouveau

禁用这个驱动需要创建一个black_list文件,用以下指令在指定目录创建该文件:

1
vim /usr/lib/modprobe.d/blacklist-nvidia-nouveau.conf

然后在该文件中写入以下内容:

1
2
blacklist nouveau
options nouveau modeset=0

然后可以更新一下内核,这一步不是必须的,可以用以下指令:

1
dracut --force

然后需要执行以下一系列的操作来移除该显卡驱动:

1
2
3
4
5
6
7
8
init 3
runlevel
rmmod nouveau

# 备份并重新建立initramfs,这一步并不是必须的,因为后续安装驱动程序的时候可以选择自动重新建立
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

然后重启让配置生效:

1
reboot

重启之后再执行以下指令,如果没有任何返回的信息,则代表禁用生效了,可以继续下一步了:

1
lsmod | grep nouveau

安装Nvidia显卡驱动

访问以下网址,再Nividia官网上下载驱动程序:

人工智能计算领域的领导者 | NVIDIA

在驱动程序的页面中选择适合自己的驱动程序包,下载好之后上传到服务器中。

然后首先安装以下两个包:

1
dnf install gcc kernel-devel -y

然后执行一下更新:

1
dnf upgrade 

然后执行刚刚上传的驱动程序包:

1
2
3
4
chmod u+x NVIDIA-Linux-x86_64-******.run

./NVIDIA-Linux-x86_64-******.run

执行之后会不断的弹出选项让你选择或者确认,根据我的安装经历,除了一个是否安装32位兼容的版本需要你切换一下选项,将其选择为No之外,其它的所有选项都是无脑按Enter即可,默认的选择就是没问题的,最后完成的提示是***is now complete,如果出现这个提醒那就代表安装没啥问题了。

如果不放心的话,也可以查看下面的文件来看看安装过程中是否出现了报错:

1
cat /var/log/nvidia-installer.log

下载并安装cuda

cuda的下载以及安装方式可以在下面的链接找到:

CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developer

在该页面中选择合适的cuda版本,然后选择自己的系统版本,我选择的是runfile(local)的安装方式,大概就是通过wget在指定的链接上下载一个run文件,然后执行该文件即可完成cuda的安装官网给出的链接如下:

1
2
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run
sudo sh cuda_12.4.1_550.54.15_linux.run

这样就会直接进入cuda的安装界面,cuda的安装界面做的非常友好,可以根据自己的需求来选择需要安装的内容,仅需要cuda toolkit,因此我将其它类似于driver之类的安装选项都取消了,这样安装之后会出现一些警告,主要是提醒你驱动程序需要匹配,因此如果前面安装选择的是最新版的话,这里一般是可以忽略这个警告的。

安装cuda的时候要记住安装路径,也可以自己设定安装路径,经过实测,安装路径是可以自行设定并共享的,就意味着在集群中可以实现仅在一台节点上安装cuda,然后其它gpu的节点仅重装驱动即可,无需每台机器均安装cuda即可正常使用cuda的加速。

问题解决

Nvida驱动失效

1
2
3
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. 
Make sure that the latest NVIDIA driver is installed and running.

NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver._nvidia-smi has failed because it couldn’t communic-CSDN博客

  1. 查看之前安装的驱动版本:
1
ls /usr/src | grep nvidia

记住返回的信息,我们返回的信息为:

1
nvidia-550.90.07

然后安装dkms:

1
dnf install dkms -y

装好之后用dkms重新装驱动,重新装驱动的时候版本号要改为前面返回得到的版本号:

1
2
dkms install -m nvidia -v 550.90.07


Rocky Linux9配置CUDA
http://phoenixjason.cn/2024/11/01/20241101Rocky Linux9配置CUDA/
作者
Jason
发布于
2024年11月1日
许可协议