centos7.8GPU服务器搭建

首先官方文档有cuda驱动和toolkit和Linux内核本,gcc版本的对应关系,其中也有一些安装过程可参考:

https://developer.nvidia.com/cuda-toolkit-archive

此网址也包括各个版本的cuda驱动与库

 

cuda文件版本命名理解:

NVIDIA-Linux-x86_64-450.191.01.run   此为run文件,对应的还有rpm包,这种文件就是只包含驱动文件安装,其中Linux-x86_64为系统型号,450.191.01为驱动版本,其中450这个数字越大越好,可以对之前版本的cuda toolkit向下兼容的

cuda_11.4.4_470.82.01_linux.run 这种命名的不光包含驱动,还有对应的cuda toolkit库文件,11.4.4就是该安装包内的cuda库的版本,470就是安装包内的驱动版本,同时这个文件名也告诉我们,11.4.4的库和470的驱动是特定兼容的。此安装包在安装时可以选择是否安装驱动或者库。

cuda_10.2.2_linux.run  这种一般就是补丁文件。

注(参考理解):1.有GPU驱动版本。使用 `nvidia-smi` 查询它。2.有一个与驱动相关的CUDA兼容版本(特定GPU驱动版本与其相关的CUDA兼容版本之间存在1:1的对应关系)。与最新驱动程序捆绑在一起的 `nvidia-smi` 工具将显示它们拥有的 CUDA 兼容版本。3. 有一个 CUDA 运行时版本,它将与您用于构建特定运行时 API 代码的运行时 API 相关联。例如,您可以使用 `nvcc -v` 查询,或者使用 `deviceQuery` 示例代码查询最后两件事。

 

系统中查看GPU信息

系统安装完成之后,进入系统,使用lspci  查询一下GPU是否存在、型号信息是什么。

[root@node01 ~]# lspci | grep -i nvidia

或者直接问。。

下载NVIDIA Tesla A100驱动

通过lspci查询到GPU的型号之后,访问官网 nvidia.com下载驱动程序可以按照如下选择,选择产品类型、系列、型号、然后根据自己的操作系统来选择。 
注意:如果操作系统是 ,尽量选择Linux 32-bit/Linux 64-bit,不需要选择详细的Linux发行版本。测试是发现选择详细的Linux发行版本,安装驱动之后,找不到nvidia-smi 。 

https://www.nvidia.cn/Download/index.aspx?lang=cn或者

https://developer.nvidia.com/cuda-toolkit-archive

https://www.nvidia.com/Download/index.aspx

 

 

 

 

安装gcc等依赖包

当安装GPU驱动时,提示缺少相关的依赖包,在此,我们需要提前安装相关的依赖包,目前需要用到的是gcc , g++ , make :

[root@localhost ~]# yum -y install gcc gcc-c++ kernel-devel make

 

sudo yum autoremove -y gcc*
sudo yum autoremove -y cpp*
sudo yum autoremove -y dkms

sudo rm -rf /opt/rh #删除由devtoolset安装的gcc
sudo rm -rf /usr/lib/gcc
sudo rm -rf /usr/libexec/gcc
whereis gcc

sudo yum install -y gcc
sudo yum install -y gcc-c++
sudo yum install -y glibc-devel

gcc -v
清理gcc参考

 

禁用nouveau,不然可能在安装时256退出

当系统安装完成之后,会安装系统开源的NVIDIA驱动版本,名称为nouveau。查看nouveau驱动是否加载

lsmod |grep -i nouveau

 

 

 

编辑 /etc/default/grub文件,修改 GRUB_CMDLINE_LINUX一行(自己在安装时这一步好像并没有实际操作):

 

 

 保存退出,更新grub:

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6
Found initrd image: /boot/initramfs-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6.img
done
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.efi.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6
Found initrd image: /boot/initramfs-0-rescue-91fd57f1c90a4a2da20ef93ed7f886c6.img
更新grup

 

编辑 /lib/modprobe.d/dist-blacklist.conf,把 blacklist nvidiafb 改成 #blacklist nvidiafb(注释掉,打开),然后在最下面添加 blacklist nouveau和 options nouveau modeset=0

 [root@localhost ~]# vim /lib/modprobe.d/dist-blacklist.conf

# blacklist nvidiafb

blacklist nouveau

options nouveau modeset=0


备份initrams并使用dracut重新建立initramfs并重启系统:

[root@localhost ~]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

[root@localhost ~]# dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

[root@localhost ~]#  reboot

 
lsmod | grep nouveau
 

 

 

安装NVIDIA GPU驱动

安装下载的GPU驱动:NVIDIA-Linux-x86_64-510.47.03.run ,目前驱动版本为:510.47.03,如下执行该驱动文件,即可安装。

sudo sh NVIDIA-Linux-x86_64-450.191.01.run

nvidia-smi  查看驱动是否安成功

 

安装cuda

sudo  sh 

需要配置环境变量

sudo vim /etc/profile  然后执行 source /etc/profile

或者 sudo vim ~/.bashrc  然后执行 source ~/.bashrc  激活环境变量

添加内容如下,一般在安装后也会在屏幕输出中提示:

export LD_LABRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2

相同效果:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 

验证安装

为 nvcc命令创建一个软连接到/usr/bin目录:(此步骤实际微操作也验证出来了)

sudo ln -s /usr/local/cuda/bin/nvcc /usr/bin/nvcc

输入命令nvcc -V 或者 nvcc --version

查看是否安装成功。

 

 

安装过程可能需要gcc的版本进行升级变更等,不然会有内核冲突或者256退出。

 

posted @ 2022-06-23 14:11  qzl  阅读(321)  评论(0编辑  收藏  举报