组里面分配了台gpu服务器,让我负责管理,需要先配置一些深度学习环境,记录一下。
一些linux服务器常用命令:https://blog.csdn.net/qq_51570094/article/details/123949910
1.安装GPU驱动
1.1查看linux系统信息和配置信息。
首先需要了解linux系统信息
通过cat /proc/version
查看包含gcc的版本信息
[root@localhost ~]# cat /proc/version Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SM
通过hostnamectl
命令查看系统信息,这个命令是centos7的命令
[root@localhost ~]# hostnamectl Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vmMachine ID: d488330e5e20487f8238984c81cb43a1 Boot ID: a5ddccbbebf547d588a76082b5832973Virtualization: microsoftOperating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-1062.el7.x86_64Architecture: x86-64
看出操作系统的版本,linux内核版本。
1.2查看硬件配置
通过lspci
命令显示所有硬件信息,可以看到所有不管装没装驱动的设备,因为根据pci规范,只要该设备在pci总线上挂着,就可以读到一些信息。
信息太多,可以通过grep
过滤VGA
信息或者直接查nvidia
也行。
[root@localhost ~]# lspci|grep -i vga00:02.0 VGA compatible controller: Cirrus Logic GD 544600:0d.0 VGA compatible controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)
可以看到,上面有一张T4(另,如果没有直观的显示显卡信息,[]
中的内容,可通过http://pci-ids.ucw.cz/
网站查数字代码)。
指导了设备,就可以去官网上下载驱动了(组里面其他同学直接给我发了份,就没去下载)。
1.3为了确保软件环境统一且无误
首先要确保gcc,g++和kernel-devel和kernel-headers安装,前两个不用解释,kernel-devel是用作匹配不同操作系统版本的接口(注意和操作系统的版本要对应好,百度搜索安装kernel-devel和kernel-headers很多博客写的很清楚)。
通过 uname -r
查看操作系统内核,通过yum info kernel-devel kernel-headers
查看版本信息。
可以通过安装与操作系统内核对应的kernelyum install "kernel-devel-uname-r == $(uname-r)
,或者升级yum distro-sync
操作系统内核与kernel匹配。
一般来说,安装对应的软件包或者升级内核都可以,我推荐升级内核。
贴一个参考:https://www.cnblogs.com/liuke-note/p/13712202.html
大概思路就是通过https://pkgs.org/
搜索centos对应版本的headers和devel,比如我的是3.10.0-1602.(后来我升级到了1160)
然后通过rpm离线安装。可以在usr/src/kernels
目录下看安装的包
如果已经提前尝试安装nvidia驱动,可通过usr/bin/nvidia-uninstall
中卸载
1.4注意
显卡驱动安装之前,建议先卸载linux系统自带的显卡驱动nouveau
,这是一个针对nvidia显卡开发的第三方开源的3d驱动,而且没有得到官方的支持,所以可能存在冲突,因此建议先禁用。
通过lsmod|grep -i nouveau
查看是否被加载,如果查出来内容说明被加载,可以通过下面的方式禁用centos系统的nouveau
驱动
1. 创建文件/etc/modprobe.d/blacklist-nouveau.conf,添加如下文本:blacklist nouveauoptions nouveau modeset=02. 重新生成initramfs$ sudo dracut --force
之后reboot
重启服务器再查看一下nouveau
是否被加载
执行run脚本安装nvidia驱动
./NVIDIA-Linux-x86_64-440.107-grid.run
执行完就行了,这个脚本也会自动把环境变量修改上
可以试一下nvidia-smi
命令来查看GPU信息了。
2. 安装cuda相关工具
老生常谈了,cuda,cudnn
去官网下载对应的cuda toolkit: https://developer.nvidia.com/cuda-toolkit-archive
去官网下载对应的cudnn:https://developer.nvidia.com/rdp/cudnn-archive
安装即可,给个参考博客:https://blog.csdn.net/qq_51570094/article/details/123902419,一个比较清晰的流程。
3. 安装pytorch-gpu版
这个也是老生常谈了,anaconda3,torch,torchvision,torchaudio。
通过conda建完虚拟环境之后,就直接可以在对应的虚拟环境下安装torch了。
先去torch的官网找符合的版本:https://pytorch.org/get-started/previous-versions/
可选离线安装,通过镜像站:https://download.pytorch.org/whl/torch_stable.html先下载下来三个whl包,然后分别pip install 包名-i https://pypi.tuna.tsinghua.edu.cn/simple 来快速安装。
参考资料
试了很多方法才成功安装GPU驱动的:https://blog.csdn.net/HaixWang/article/details/90408538
华为服务器的使用手册:https://support.huawei.com/enterprise/zh/doc/EDOC1100164073/13b4e55d
一个比较详细和清晰的GPU驱动安装流程:https://blog.csdn.net/qq_51570094/article/details/123900837