请选择 进入手机版 | 继续访问电脑版
第八届分子动力学与GROMACS培训班将于2021年1月18~21日于北京举办,报名将于12月10日开始。培训预告请点击此链接查看,欲学习分子动力学模拟与GROMACS程序者切勿错过!

计算化学公社

 找回密码
 现在注册!
查看: 1338|回复: 12

[Linux] 【经验】centos 7/8 升级kernel,以及升级之后重装Nvidia驱动和cuda 11 ...

[复制链接]

682

帖子

23

威望

2987

eV
积分
4129

Level 6 (一方通行)

发表于 2020-9-25 11:52:51 | 显示全部楼层 |阅读模式
本帖最后由 ggdh 于 2020-10-26 15:21 编辑

需求场景:kernel 太老了,无法使用Zen2的睿频,或者运行一些程序报错说内核太老无法运行,
网上有很多教程,但我还是折腾了半天,走了一些弯路,把过程放到这里供大家参考。

0,签署知情同意书

升级kernel的风险,包括但不限于:系统无法启动,数据丢失,硬件无法工作,以及由此引发的失眠,焦虑,师兄被迫延期毕业,老板心脏病发作送ICU等。。。

1,升级kernel
a) 查看当前kernel
  1. uname -r
复制代码

b) 添加ELPepo源(需要联网)
  1. sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
复制代码
centos7:
  1. sudo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
复制代码
centos8:
  1. sudo yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
复制代码

c)安装最新的主线内核(kernel-ml,main line kernel)
  1. sudo yum --enablerepo=elrepo-kernel install kernel-ml
复制代码
然后重启:
  1. sudo reboot
复制代码

d)
启动到新安装的kernel(可能需要的步骤)
重启后用a步的方法确认kernel升级成功,如果没有升级成功,说明没有启动到新安装的kernel,那么需要进行下面的操作:
  1. sudo vim /etc/default/grub
复制代码
把其中的GRAB_DEFAULT改成
GRUB_DEFAULT=0
意思是默认启动第一个kernel(也就是新装的kernel)
运行
  1. sudo grub2-mkconfig -o /boot/grub2/grub.cfg
复制代码
使刚才的设置生效,然后重启。

2,重装Nvidia显卡驱动和cuda 11
更新kernel之后,nvidia显卡驱动会失效,这时候运行
  1. nvidia-smi
复制代码
会显示
"NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running."
因此需要重新安装驱动,直接重装驱动是不行的,重装驱动需要kernel-devel 和kernel-header这两个包的版本和当前kernel的版本一致,按照下面的步骤运行:

a)安装dnf(centos 7 专有步骤)
  1. sudo yum install dnf
复制代码
dnf是yum的升级版
这一步主要是为了使用dnf的--allowerasing功能

b)安装kernel-devel kernel-header
  1. sudo dnf --allowerasing --enablerepo=elrepo-kernel install kernel-ml*
复制代码
这里如果不用--allowerasing,会提示kernel-ml-header 等会和现在的包冲突。这时候不要用yum remove kernel-ml-header去删除冲突的包(不要问我怎么知道的)

c)安装版本匹配GCC (可能需要的步骤)
如果这时候直接安装显卡驱动,有可能会提示
”The kernel was built with gcc (GCC) 9.3.1, ....., but the current compiler version is ....“
意思是编译内核的gcc版本和当前的gcc版本不一致,如果强行编译可能会出问题,我试过强行编译,会失败,这时候退出驱动安装,先安装版本匹配gcc
centos7:
  1. sudo yum install centos-release-scl
  2. sudo yum install devtoolset-9
  3. source scl_source enable devtoolset-9
复制代码
centos8:
  1. sudo dnf install gcc-toolset-9
  2. source /opt/rh/gcc-toolset-9/enable
复制代码
这里安装的是gcc 9版本,实际请跟具安装驱动时的提示安装相应的版本。
如果想自动加载gcc 9 版把上面的命令中的最后一行加到~/.bashrc中

d) 安装显卡驱动
这一步还需要屏蔽nouveau驱动,但是这里是重装Nvidia驱动,所以这步省略了,如果是新装Nvidia驱动,请参考网上的教程屏蔽nouveau驱动。
  1. sudo sh NVIDIA-Linux-x86_64-450.66.run
复制代码
安装完成后运行
  1. nvidia-smi
复制代码
检查显卡驱动是否安装成功

e) 安装cuda 11
运行
  1. sudo sh cuda_11.0.3_450.51.06_linux.run
复制代码
安装cuda程序,其中可以不用安装驱动了。
安装完成后设置环境变量
把下面三句话加到~/.bashrc中
  1. export CUDA_HOME=/usr/local/cuda
  2. export PATH="/usr/local/cuda/bin:$PATH"
  3. export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
复制代码
然后运行
  1. source ~/.bashrc
复制代码
使设置生效
下面验证cuda的安装,依次运行下面的命令
  1. cd /usr/local/cuda/samples/1_Utilities/deviceQuery
  2. make
  3. ./deviceQuery
复制代码








评分

参与人数 5威望 +1 eV +18 收起 理由
lao7 + 5
plus + 3
hebrewsnabla + 5 你太可爱
sobereva + 1
Novice + 5 你太可爱

查看全部评分

260

帖子

0

威望

1065

eV
积分
1325

Level 4 (黑子)

Nerv

发表于 2020-9-25 12:49:24 | 显示全部楼层
好帖。mark一下
No problem is insoluble in all conceivable circumstances.

84

帖子

0

威望

689

eV
积分
773

Level 4 (黑子)

发表于 2020-9-26 20:21:00 | 显示全部楼层
收藏了备用

793

帖子

7

威望

3647

eV
积分
4580

Level 6 (一方通行)

计算化学社畜

发表于 2020-9-26 21:09:05 | 显示全部楼层
见过的最长的帖子标题……
Stand on the shoulders of giants

558

帖子

0

威望

527

eV
积分
1085

Level 4 (黑子)

喵星人

发表于 2020-9-27 11:29:07 | 显示全部楼层
知情同意书可是太6了

242

帖子

0

威望

1159

eV
积分
1401

Level 4 (黑子)

发表于 2020-10-13 09:17:44 | 显示全部楼层
安完NVIDIA驱动之后Xorg挂了怎么搞[捂脸]

没装OpenGL,也没让驱动更新X server的setting,但是最后还是挂了,太惨了

197

帖子

0

威望

1941

eV
积分
2138

Level 5 (御坂)

发表于 2020-10-13 15:03:52 | 显示全部楼层
ubuntu Linuxmint他不香么

52

帖子

1

威望

1025

eV
积分
1097

Level 4 (黑子)

发表于 2020-10-26 12:37:04 | 显示全部楼层
本帖最后由 haizhiwuyu 于 2020-10-26 12:43 编辑

sudo yum install centos-release-scl
sudo yum install devtoolset-9
sudo scl enable devtoolset-9 bash

请问,这三步无法执行,No match for argument: centos-release-scl
请问怎么解决啊?我是centos8

682

帖子

23

威望

2987

eV
积分
4129

Level 6 (一方通行)

 楼主| 发表于 2020-10-26 15:23:08 | 显示全部楼层
haizhiwuyu 发表于 2020-10-26 12:37
sudo yum install centos-release-scl
sudo yum install devtoolset-9
sudo scl enable devtoolset-9 bas ...

centos8 这么操作:
原文已更新,感谢反馈
sudo dnf install gcc-toolset-9
source /opt/rh/gcc-toolset-9/enable

648

帖子

0

威望

1416

eV
积分
2064

Level 5 (御坂)

发表于 2020-11-3 11:04:04 | 显示全部楼层
CentOS 7最近3.**的内核,运行Gromacs时,系统无故重启。也是需要更新内核到5.*版本。但是不需要更新显卡。

11

帖子

0

威望

119

eV
积分
130

Level 2 能力者

发表于 2020-11-12 21:42:53 | 显示全部楼层
想请教您没有网的情况下想编译安装CUDA应该怎么做?

18

帖子

0

威望

12

eV
积分
30

Level 2 能力者

发表于 2020-11-17 08:30:59 | 显示全部楼层
jluZ 发表于 2020-11-12 21:42
想请教您没有网的情况下想编译安装CUDA应该怎么做?

把必要的依赖库安装上。接下来驱动与CUDA就简单了

155

帖子

0

威望

1161

eV
积分
1316

Level 4 (黑子)

发表于 2020-11-18 08:34:43 | 显示全部楼层
jluZ 发表于 2020-11-12 21:42
想请教您没有网的情况下想编译安装CUDA应该怎么做?

1.下载一个完整光盘镜像,然后挂载在本地。(轻松解决依赖包的问题)
2. 下载一个适合的cuda的run文件,直接安装就行了。

您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2020-12-5 07:01 , Processed in 0.160196 second(s), 26 queries .

快速回复 返回顶部 返回列表