|
|
# 前言
新到实验室,用其旧电脑,搭建一个小服务器做计算。主要是:1、CP2K和Gromacs联动的双精度QMMM计算;2、Gromacs的单精度GPU加速MD.
# 一、系统安装
1、在官网下载rocky10,(https://rockylinux.org/zh-CN/download)
![]()
2、使用Rufus将ISO转为可安装的系统
![]()
我使用的软件是Rufus,这里最初选择了Ubuntu,但体验了三四天痛苦的安装体验后,果断站在巨人肩上(sob建议),选了rocky10。
3、将加载好系统的U盘,插入待重装系统的电脑,开机连续按==F2==,进入安全模式。
这部分与(http://bbs.keinsci.com/thread-43105-1-1.html) 这位前辈的步骤是一样的。
*PS1:Rocky9安装后,系统里没有wifi驱动,没网线就没办法上网,Rocky10有wifi驱动*
*PS2:安装时,容许SSH(在用户注册里面),开机WIFI联网后,用 ip a 查询后,知道IP就可以用==MobaXterm==直接远程访问*
#二、环境配置
以下操作均在MobaXterm中完成
1、Nvidia驱动重新安装
地址:[Unix Drivers | NVIDIA](https://www.nvidia.com/en-us/drivers/unix/)
![]()
个人显卡是RTX4070 SUPER,就选择595.在window上直接下载,然后通过Moba上传到Linux中。
2、旧的内核确认
lsmod | grep nouveau
显示如下:
![]()
3、确认系统当前运行内核
uname -r
系统里目前装了两个版本的内核:
6.12.0-211.16.1.el10_2.0.1 旧
6.12.0-211.28.1.el10_2 新
删除旧的内核
yum remove -y
kernel-devel-6.12.0-211.16.1.el10_2.0.1.x86_64
kernel-core-6.12.0-211.16.1.el10_2.0.1.x86_64
kernel-modules-6.12.0-211.16.1.el10_2.0.1.x86_64
kernel-modules-core-6.12.0-211.16.1.el10_2.0.1.x86_64
kernel-modules-extra-6.12.0-211.16.1.el10_2.0.1.x86_64
kernel-6.12.0-211.16.1.el10_2.0.1.x86_64
4. 禁用 nouveau,加入黑名单
vim /etc/modprobe.d/blacklist-nouveau.conf
打开后写入
blacklist nouveau
options nouveau modeset=0
*PS:Rocky 10 用 `/etc/modprobe.d/` 目录新建文件即可*
5、修改 grub 配置
vim /etc/default/grub
在 `GRUB_CMDLINE_LINUX="..."` 这一行**末尾**(引号内)追加:
rd.driver.blacklist=nouveau nouveau.modeset=0
6、重新生成 grub 配置
Rocky 10 上先确认是 BIOS 还是 UEFI 启动:
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS"
如果是BOIS:
grub2-mkconfig -o /boot/grub2/grub.cfg
如果UEFI 模式(Rocky/RHEL 系一般如此):
ls /boot/efi/EFI/ # 看实际目录名,rocky 系统通常是 rocky/ 或 redhat/
grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
7、重建 initramfs(Server / Server with GUI 必做)
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)
如果这台机器装的是带图形界面的版本(GNOME Server with GUI),先切到文本模式再重启,避免驱动装好前图形界面反复崩溃:
systemctl set-default multi-user.target
reboot
8、重启后确认:
lsmod | grep nouveau # 应该没有任何输出,说明禁用成功
9、 安装基础依赖
dnf update -y
dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make dkms elfutils-libelf-devel
10、确认依赖已装好
uname -r
rpm -qa | grep kernel-devel
rpm -qa | grep kernel-headers
gcc --version
make --version
如果还没装,先执行:
dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make dkms elfutils-libelf-devel
dnf install -y dkms elfutils-libelf-devel
rpm -qa | grep dkms
11、给驱动文件加执行权限
cd /path/to/driver目录
chmod +x NVIDIA-Linux-x86_64-595.84.run
12、 切换到纯命令行模式(关键步骤)驱动安装时如果图形界面(X server / Wayland)还占用着显卡,安装会失败或装完后黑屏。所以要先关掉图形目标:
systemctl isolate multi-user.target
13、执行安装
cd /path/to/driver目录
./NVIDIA-Linux-x86_64-595.84.run
会弹出
![]()
选右边
安装向导中建议选择:
注册 DKMS 模块 → Yes
32 位兼容库 → No(一般科研工作站不需要)
更新 X 配置 → Yes
一个警告
WARNING: nvidia-installer was forced to guess the X library path '/usr/lib64' and X module path '/usr/lib64/xorg/modules'; these paths were not queryable from the system. If X fails to find the NVIDIA X driver module, please install the pkg-config utility and the X.Org SDK/development package for your distribution and reinstall the driver.
![]()
![]()
下面是图中代码,可以在安装nvidia启动前先运行,或许会消除此警告。
dnf install -y pkgconf-pkg-config xorg-x11-server-Xorg xorg-x11-drv-nvidia-devel 2>/dev/null
dnf install -y pkgconf-pkg-config
dnf groupinstall -y "X Window System" 2>/dev/null || dnf install -y xorg-x11-server-Xorg xorg-x11-xinit
dnf install -y pkgconf-pkg-config libglvnd-devel libglvnd-egl libglvnd-glx
这个我并没有选择从新安装,后来者或许可以产生,能否避免警告。
![]()
三、CUDA的安装
1、先确认驱动版本与 CUDA 13.3.1 的兼容性
nvidia-smi
2、在Window系统里,下载CUDA
(https://developer.nvidia.com/cuda-toolkit-archive)
个人选择了13.2.1,CUDA 13.2.1(自带驱动 595.58.03)跟已装的 595.84 驱动同属 595 系列,是目前官方原生匹配 CUDA 13.2 的最佳组合。
![]()
![]()
下方两行是给出的下载地址。
下载安装包
(1)cd ~/downloads # 或你常用目录
wget https://developer.download.nvidi ... 595.58.03_linux.run
chmod +x cuda_13.2.1_595.58.03_linux.run
(2)确认依赖已装好
dnf install -y gcc gcc-c++ make dkms kernel-devel-(uname -r) kernel-headers-(uname -r)
(3)执行安装(关键:取消勾选 Driver)
sudo sh cuda_13.2.1_595.58.03_linux.run
![]()
3. 设置环境变量
vi ~/.bashrc
export PATH="/usr/local/cuda-13.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-13.2/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc
4. 验证安装
nvcc -V
nvidia-smi
四、**上网
这里提一下,因为Sob提到在CP2K安装是需要**上网,所有Linux下也需要一个。在github上搜clash,我最终下载Clash.Verge-2.5.0-rc-1.x86_64.rpm。但安装时会有两个关于gtk3问题报错,以下时解决代码:
sudo dnf config-manager --set-enabled crb
sudo dnf clean all
sudo dnf install ./Clash.Verge-2.5.0-rc-1.x86_64.rpm
五、CP2K与Gromacs的联动
这里看Sob的帖子就可以,只贴出cmake的内容。把内容放在AI中一步步操作即可。如果报错,把错误放到”较好的“AI即可。
补装了DFTD4
cd /home/grouptao/Downloads/CP2K/cp2k-2026.1/tools/toolchain
./install_cp2k_toolchain.sh --with-openmpi --with-dftd4
cmake -S .. \
-DCP2K_USE_EVERYTHING=ON \
-DCP2K_USE_DLAF=OFF \
-DCP2K_USE_PEXSI=OFF \
-DCP2K_USE_LIBSMEAGOL=OFF \
-DCP2K_USE_DEEPMD=OFF \
-DCP2K_USE_ACE=OFF \
-DCP2K_USE_TREXIO=OFF \
-DCP2K_USE_GREENX=OFF \
-DCP2K_USE_LIBTORCH=OFF \
-DCP2K_USE_MIMIC=OFF \
-DCP2K_USE_DFTD4=ON \
-DCP2K_USE_TBLITE=OFF \
-DCP2K_USE_PLUMED=OFF \
-DCP2K_USE_MCL=OFF \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=/home/grouptao/Downloads/CP2K/cp2k-2026.1/exe/ \
-DCP2K_DATA_DIR=/home/grouptao/Downloads/CP2K/cp2k-2026.1/data
*PS:测试时别用root,OpenMPI 的一个内置安全保护机制,阻止你用 root 身份直接跑并行计算任务*
六、Gromacs的安装
还是看sob的帖子,论坛一搜就有,但就与CP2K联动,做了改变
cd /home/grouptao/Downloads/gromacs/
wget https://ftp.gromacs.org/gromacs/gromacs-2026.2.tar.gz
tar xfz gromacs-2026.2.tar.gz
cd gromacs-2026.2
mkdir build
cd build
确认 CP2K 有没有生成 pkg-config 文件,这里是为了和Gromacs联动做的一些操作
find /home/grouptao/Downloads/CP2K/cp2k-2026.1/exe -name "*.pc"
设置环境变量:
export PKG_CONFIG_PATH=/home/grouptao/Downloads/CP2K/cp2k-2026.1/exe/lib64/pkgconfig:$PKG_CONFIG_PATH
cd /home/grouptao/Downloads/gromacs/gromacs-2026.2/build
rm -rf *
cmake .. \
-DCMAKE_INSTALL_PREFIX=/home/grouptao/Downloads/gromacs/gmx_QMMM \
-DGMX_BUILD_OWN_FFTW=ON \
-DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_SIMD=AVX2_256 \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_MPI=ON \
-DGMX_THREAD_MPI=OFF \
-DGMX_CP2K=ON \
-DCP2K_DIR=/home/grouptao/Downloads/CP2K/cp2k-2026.1/exe
cd /home/grouptao/Downloads/gromacs/gromacs-2026.2/build
make -j28
make check
这里测试会有双线程,如果部分测试任务失败,只需要输入命令unset OMP_NUM_THREADS
不设置具体线程数目。安装CP2K时,因为设置了单线程,导致此步会有18个涉及并行计算的任务失败。
make install
写入环境变量
export GMXBIN=$HOME/Downloads/gromacs/gmx_QMMM/bin
export PATH=$GMXBIN:$PATH
![]()
这是最后展示。
可以看到CP2K support哪里已经 enabled了。这里由于时双精度+CP2K,所以是
gmx_mpi_d --version
结语:路线问题一解决,其他安装过程中的报错AI多可解决。
|
-
202607131053435840..png
(121.96 KB, 下载次数 Times of downloads: 0)
-
202607131052342478..png
(87.59 KB, 下载次数 Times of downloads: 0)
-
202607131052016274..png
(186.06 KB, 下载次数 Times of downloads: 0)
-
202607131051165794..png
(114.94 KB, 下载次数 Times of downloads: 0)
-
202607131051026142..png
(89.16 KB, 下载次数 Times of downloads: 0)
-
202607131048504809..png
(295.31 KB, 下载次数 Times of downloads: 0)
-
202607131048207509..png
(40.14 KB, 下载次数 Times of downloads: 0)
-
202607131047219313..png
(74.74 KB, 下载次数 Times of downloads: 0)
-
202607131047027917..png
(45.43 KB, 下载次数 Times of downloads: 0)
-
202607131044465992..png
(83.4 KB, 下载次数 Times of downloads: 0)
-
202607131043466321..png
(34.35 KB, 下载次数 Times of downloads: 0)
|