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
禁用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
编辑 /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退出。