计算化学公社

标题: Centos stream 9 安装Gromacs 2023.1(GPU加速版)教程 [打印本页]

作者
Author:
欢乐多    时间: 2023-5-22 23:46
标题: Centos stream 9 安装Gromacs 2023.1(GPU加速版)教程
本帖最后由 欢乐多 于 2024-3-19 06:39 编辑

笔者的电脑使用Centos stream 9一段时间后频繁死机,一个计算任务算开始一两个小时后,就无故死机,也没有找到系统报错日志,需要重启恢复,严重影响正常工作,(经过多次软硬件方面排查,比如进行主板、硬盘、CPU、内存等检查,装不同的Linux和Window等,最后发现随机死机、蓝屏、黑屏等现象是由于内存条损坏导致,与系统及所安装的程序毫无关系),为了排除是Centos stream 9系统不完善导致,笔者也换用Rocky Linux 9.3系统,详见《Rocky Linux 9.3系统安装及Gromacs,Gaussian, xtb, ORCA, SVM等程序安装》,但是发现ocky Linux 9.3系统也随机死机,而换用一个新内存条后,计算机工作正常。因此,Centos stream 9 系统也是相当稳定的,请放心安装使用。
Centosstream 9 安装Gromacs 2023.1(GPU加速版)体验
0前言

笔者以天然产物出身,发现实验背后的理论能解答我们日常实验的疑惑,茶余饭后就学习了量子化学计算,最近对分子模拟感兴趣,于是从模拟必备的硬件系统到软件系统进行了逐步探索。

1硬件配置

配置如下:
处理器:AMD Ryzen™ 9 7950X 16-Core, 32-Thread Unlocked Desktop Processor
主板:GIGABYTE B650M AORUS Elite AX
处理器散热器:Cooler Master Hyper 212 Halo Black CPU Air Cooler
显卡:ASUS TUF GeForce RTX® 4090 OC Edition Gaming Graphics Card
内存:CORSAIR VENGEANCE DDR5 RAM 64GB (2x32GB) 5200MHz C40-40-40-77
硬盘:Seagate Iron Wolf Pro 8TB Enterprise NAS Internal HDD Hard Drive – CMR 3.5 Inch SATA6Gb/s 7200 RPM 256MB Cache for RAID Network Attached Storage, Rescue Services -FFP (ST8000NTZ01)
电源:Seasonic FOCUS GX-1000
机箱:Corsair 4000D Airflow Tempered Glass Mid-Tower ATX PC Case – Black
总计:$3386,合计人民币23697元
以上硬件基本按照sob老师社长大人博文计算化学购机配置推荐推荐进行配置,显示器及键盘鼠标是与其他电脑共用,因此未配置。笔者打算在该机子上安装Linux系统,除了安装系统用以一下显示器及键盘鼠标,日常使用根本不会在该电脑上使用,并且笔者习惯于在win 10系统进行远程登陆或ssh登陆,用MobaXterm对终端进行操作或互传文件极其方便。
从订购到包裹收齐4天的时间,这边快递小哥还是挺负责吧,由于以前装过几次机器,也喜欢折腾,刚开始自己摸索,装上并没有点亮,搜索一下网上的教程,又结合一些说明书,算是都正确安装了,但是通电开机还是不能点亮,主板上RAM的提示灯一直亮,不能登陆Bioss界面,主板的硬件毛病,联系商家退货,又重新买了一块主板,不幸的是第二块主板不能连接硬盘,后来想想如果按照说明书手动恢复一下出厂设置可能会解决这个问题,再次联系商家退货,又买了一块,第三块主板看起来正常,开机点亮顺利进入Bioss界面,并识别硬盘。因此,所有硬件及线路连接看似连接正确。

2操作 系统安装

硬件已经备齐,并且貌似都正常,接下来是系统和软件,先找了一块已有的128G的固态硬盘,笔者先前在国内网上买了一个装win系统的U盘,极其好用,不用担心兼容问题,装上Win10系统检查了一下硬件,特别是显卡与主板能否兼容,发现运行不错,安装社长已经编译好的GPU加速版Gromacs2020.6,运行良好,再次确认硬件完全兼容,没啥问题。因为笔者已有一台win系统的笔记本,并且觉得在Win上远程登陆Linux,进行计算等操作非常方便,并且这台新机器上还可以使用Gaussian进行量化计算,接下来就是考虑在这台新机子上安装Linux系统及相关软件。笔者还有一台普通的24个物理核心的双路服务器,操作系统是Centos7.6,运行Gromacs2018.8还不错,虽然Gromacs2018.8版各方面模拟设计还比较合理,但是不支持加速,速度比较慢,因此决定配置这台新机器,专门负责安装GPU加速版Gromacs2023.1,两者正好互补,正好。此外,提一句,笔者地处美国加州,外网比较方便,文件下载速度比U盘复制的速度都要快,Linux系统及相关软件也较为方便。
首先是尝试安装Centos7.6这个比较常用的系统,用UltroISO制作U盘启动安装盘,由于硬件较新,Centos 7.6软件内核不支持新的硬件,提示kernelpanic not syncing错误,尝试各种方法制作U盘启动盘,均得到相同不兼容提示,因此最终还是放弃了Centos7.6的安装。而当用Centos stream 8 和Centosstream 9这两个系统与新硬件完全兼容,而此时用UltroISO制作U盘启动盘,发现安装时找不到U盘位置,网上很多教程说装前,在开机选择界面,按e键进入编辑窗口,去更正U盘路径,其实用Win32 Disk Imager制作就不会出现此问题,正常安装就行,比较简单。而Win32 Disk Imager制作后的U盘用win系统并不能识别,当完成系统安装,需要还原U盘时,笔者使用能识别该U盘的MAC电脑进行了格式化。
Centos stream 8安装后,进行了NVIDIA驱动及CUDA安装,并且尝试进行Gromacs安装,并未完成,问题比较多,一会儿是python版本不对,一会儿是gcc不行,简单快速的尝试后,还是放弃Centos stream 8。
随即转向了Centosstream 9安装,期待这个最新的系统能兼容最新的硬件和最新的Gromacs2023.1。下载最新的CentOS-Stream-9-latest-x86_64-dvd1.iso (外网真是快,近10G,1分钟左右下载完成),Win32 Disk Imager制作U盘。进入安装界面,进行语言选择,设置root用户及密码,选择Centos stream 9安装类型为workstation,根据社长VMware 15中安装CentOS 7.6 Linux系统的过程演示推荐选择计算相关套件,对8T硬盘进行了适当分区/home/为2T,根目录/分了2T,以备存储数据并提供充足的计算空间,等等以上选项设定好之后,安装过程读取数据还是比较快的,三四分钟就完成,感觉这个比Centos7.6要快多了,因此成功安装了Centos stream 9(具体型号Linux5.14.0-312.el9.x86_64)。

3分子模拟软件的安装

笔者是win10远程登陆新装的Centos stream 9,对于一些命令的复制、粘贴及保存非常方便,笔者有一个专门的存储Shell命令的txt文档,收藏经常使用的命令,随时使用快捷键复制粘贴到终端,一些繁琐的命令根本不用逐字输入。

3.1 禁用默认的驱动程序

硬件有两个显卡,一是主板内置的显卡(驱动是centos系统自带的驱动),另一是装的GTX4090显卡(驱动是另外安装的NVIDIA驱动,见下文),禁用的驱动是系统自带的驱动,使得能够使用NVIDIA的驱动,这样Gromacs能够调用。
首先查看默认的驱动程序
  1. lsmod | grep nouveau
复制代码
就会出来几行信息,接下来就是禁用这种默认的驱动程序,
  1. vim /usr/lib/modprobe.d/dist-blacklist.conf
复制代码
# blacklist nvidiafb  #注释该行
blacklist nouveau  #添加此行
options nouveau modeset=0 #添加此行
保存退出此文档,编辑第二个文档
  1. vi /etc/default/grub
复制代码

GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512Mresume=/dev/mapper/cs_tjgpu-swap rd.lvm.lv=cs_tjgpu/rootrd.lvm.lv=cs_tjgpu/swap rhgb quiet rd.driver.blacklist=nouveaunouveau.modeset=0" #其中一行信息添加rd.driver.blacklist=nouveaunouveau.modeset=0,就是开机时按e键进行编辑的那个文档。
  1. grub2-mkconfig -o /boot/grub2/grub.cfg
复制代码
重启机器,如果未禁用默认显卡成功,
再运行如下命令,这些命令还不理解具体含义,再尝试一通如下操作极大可能就行得通:
  1. mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
  2. dracut /boot/initramfs-$(uname -r).img$(uname -r)
  3. systemctl set-default multi-user.target
复制代码
重启,应该能够禁用成功,即使显示器连接机器,此时Linux的图形界面是没有的,只有命令行的界面。待所有软件安装成功,想要尝试图形界面的话,以下两个命令是开启和关闭图形界面的命令,可留存备用。
  1. systemctl stop gdm.service
  2. systemctl start gdm.service
复制代码

再次运行lsmod | grep nouveau命令就没有信息弹出,说明禁用默认网卡成功。

3.2 NVIDIA驱动的安装

Win系统下下载最新的NVIDIA驱动NVIDIA-Linux-x86_64-525.116.04.run文件,上传至Linux系统
  1. chmod +x *
  2. ./NVIDIA-Linux-x86_64-525.116.04.run
复制代码
[attach]78594[/attach]
安装过程出现如下弹窗均是正常(图1-4):

(, 下载次数 Times of downloads: 23)
(, 下载次数 Times of downloads: 23)
(, 下载次数 Times of downloads: 21)
(, 下载次数 Times of downloads: 23)

3感觉此处yes 或no均可,笔者选的yes。
还有一处弹窗询问是否需要安装32位兼容的数据库,笔者的liunx系统是64位,所以并未选择该选项,最后安装成功会有如下提示(图4):
运行nvidia-smi命令会有如下提示(图5):(如果在计算过程中,每隔10s实时监测GPU使用情况,输入命令:watch -n 10 nvidia-smi)
说明安装成功。

(, 下载次数 Times of downloads: 23)

对于新装的系统,--kernel内核是一致的,对于出现不一致的提示,rpm -qa | grep kernel,显示是否存在不一样的内核,若如下图存在,将不一样的删除yum remove kernel-5.14.0-362.el9.x86_64,按照网上教程CentOS下的CUDA安装和使用指南修改即可

(, 下载次数 Times of downloads: 21)

虽然此时,NVIDIA的信息显示CUDAVersion:12.0,但是机子上并没有真正有CUDA的功能,如果你去安装GPU加速版Gromacs2023.1并不成功,能成功的只是不加速的普通版。如果您不信,可以进行尝试,熟悉编译过程,此外也正好对比一下GPU加速版与普通版的速度差别。当你按照官方手册安装Gromacs2023.1时,在cmake步骤中不用-DGMX_GPU=CUDA(GPU加速)选项,也能顺利安装完成,此时查看版本信息,用命令gmx -version, 可以看到GPUsupport是disabled状态,说明是普通版(图6)。

(, 下载次数 Times of downloads: 27)

因此,想要实现GPU加速版Gromacs2023.1还需要进行额外CUDA的安装。

3.3  CUDA12.1安装

CUDA安装,笔者尝试CUDA11.3,11.4,11.7安装,虽然能够安装成功,但并不能成功编译GPU加速版Gromacs2023.1,Gromacs2022.5,其尝试的过程,在此就不再赘述了,如果您需要尝试,值得一试,说不定能编译成功,并且能迫使你去学习一些编译的相关命令。最终,笔者选择最新版的CUDA12.1进行安装,过程比较简单,去网页下载最新的CUDA12.1, win 下载如下图7,选version7, runfile (local)就行,version 7感觉像是给Centos 7用的,但是大胆尝试就行,这并不影响成功安装CUDA12.1和GPU加速版Gromacs 2023.1。

(, 下载次数 Times of downloads: 23)

Liunx界面操作的话,进入一个你的常用目录,直接输入以下命令,

  1. wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
  2. chmod +x *
  3. ./cuda_12.1.1_530.30.02_linux.run
复制代码

安装过程会提示是否接受协议,输入accept进入下一步,还提示选择哪些需要安装的套件,由于Driver已经安装,因此,去掉此选项,按Enter键进行选择或不选择。进行安装,主要参考NVIDIA CUDA Toolkit 11.0 安装与卸载(Linux/Ubuntu)

(, 下载次数 Times of downloads: 23)

安装完成后屏幕提示设置环境变量:
  1. vi  ~/.bashrc
复制代码
加入如下两行:
  1. export PATH="/usr/local/cuda-12.1/bin:$PATH"
  2. export LD_LIBRARY_PATH="/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH"
复制代码
重新加载环境变量,
  1. source ~/.bashrc
复制代码
查看CUDA12.1是否安装成功,弹出信息说明安装成功。
  1. nvcc -V
复制代码

此信息说明安装完成。

(, 下载次数 Times of downloads: 28)

4.1 安装GPU加速版Gromacs2023.14.1基础库文件的安装

Centos stream 9系统的cmake, gcc 和g++对于Gromacs2023.1都兼容,使用默认的就行,不用担心不兼容情况,最好不要刻意去更改。
安装cmake3如下
  1. yum install epel-release
  2. yum install cmake3
复制代码
若出现yum install cmake3 不能安装cmake的情况,去cmake网站下载https://cmake.org/download/,对cmake软件包解压,进入目录,用如下进行安装
  1. ./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake && make
  2. make install
  3. cmake -version
复制代码

FFTW库可以按照社长博文GROMACS的安装方法(含全程视频演示)进行安装,笔者认为,FFTW库提前安装Gromacs2023.1并非必须的,因为官方安装指导原文指出在编译过程若需要会自动下载该库。笔者认为,对于如果硬件、系统、驱动、和软件都相对较新,这些库不用担心不兼容

4.2 安装GPU加速版Gromacs2023.1

可以用win系统下载Gromacs2023.1软件包,然后上传Linux,进行安装。
也可以Linux命令行进行下载,进入你的软件安装常用目录,在命令终端,复制粘贴以下命令:
  1. wget https://ftp.gromacs.org/gromacs/gromacs-2023.1.tar.gz
  2. tar xfz gromacs-2023.1.tar.gz
  3. cd gromacs-2023.1
  4. mkdir build
  5. cd build
  6. cmake .. -DCMAKE_INSTALL_PREFIX=/root/soft/gmx_GPU_2023.3 -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_SIMD=AVX2_256 -DGMX_GPU=CUDA -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.3
  7. make
  8. make check
  9. make install
复制代码
其中cmake  ..(上一级目录)    -DCMAKE_INSTALL_PREFIX=/sob/gmx_GPU_2023.1(指定你要安装到哪个文件夹里,若不指定会安装到默认目录里)         -DGMX_BUILD_OWN_FFTW=ON(是否用FFTW库)-DREGRESSIONTEST_DOWNLOAD=ON(如果需要自动下载功能)      -DGMX_SIMD=AVX2_256(512指令集)     -DGMX_GPU=CUDA(GPU加速)   -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.1(CUDA路径)
笔者在make时没有加-j,只用单核进行编译,大概花费20分钟左右完成安装,有兴趣的同学可以试试加-j,多核是否更快,应该也不会出现啥问题。安装完成,接下来添加环境变量吧。
  1. vi ~/.bashrc
复制代码
重新加载环境变量
  1. source ~/.bashrc
复制代码
查看一下GPU加速版Gromacs2023.1信息,用如下命令
  1. gmx -version
复制代码

可以看到GPU support是CUDA状态,说明是GPU加速版(图9)

(, 下载次数 Times of downloads: 22)

安装成功,找个例子(附件1)测试一下,加速版每天能跑3208ns(图10)

(, 下载次数 Times of downloads: 26)

普通版1325ns(图11),加速近3倍。

(, 下载次数 Times of downloads: 23)

4核普通笔记本Win系统Gromacs2020.6加速版速度是每天428ns(图12)

(, 下载次数 Times of downloads: 21)

由此可见,硬件的的加速效果还是比较明显的。而普通双路服务器24个物理核心Gromacs2018.8速度每天能跑110ns(图13),

(, 下载次数 Times of downloads: 26)

总体结果核预想的差不多,性能较强的CPU+GPU对模拟的速度影响很大。此外,运行的速度还与Gromacs版本有关,笔者按照上述步骤又尝试安装加速版Gromacs2022.5,其速度是2556 ns/day,明显低于加速版Gromacs2023.1 (3208 ns/day)

硬件及软件 速度ns/day 耗时hour/day
AMD Ryzen 9 7950X+ RTX® 409016个物理核心)+ GPU加速版Gromacs2023.1 3208 0.007
AMD Ryzen 9 7950X+ RTX® 409016个物理核心)+ GPU加速版Gromacs2022.5 2556 0.009
AMD Ryzen 9 7950X+ 普通版Gromacs2023.1 1325 0.018
4核普通笔记本+ GPU加速版Gromacs2020.6 428 0.056
Intel(R)Xeon(R) CPU E5-2678 v3 (24个物理核心)+ Gromacs2018.8 110 0.216


安装成功后,在此说两句,如果硬件是比较新的,软件也是选择最新的版本进行安装,安装基本是按照官方指导进行,安装的未出现异常情况。相反,如果考虑Centos的版本,CUDA 版本,Cmake的版本,FFTW版本,gcc版本,g++的版本和Gromacs版本,去更换其中的任何一个的版本,或这或那总会出现问题,折腾的不清,最后还安装不成功,建议不要考虑那么多版本问题,简简单单都选最新的软件,并按照官方手册进行按照,大概率都会安装成功。总之,Centosstream 9+ CUDA12.1+ Gromacs2023.1都选最新的版本,并且按照官方的指导手册,就会安装成功。

总之,由于笔者本人学习计算化学和分子模拟本就凭自己兴趣,随便摸索尝试,本文不失为一个成功的案例,鉴于笔者水平有限,在此借着这个优质的平台进行吐槽和交流,把笔者的计算化学的故事分享给大家,仅供大家批评指正。






作者
Author:
Entropy.S.I    时间: 2023-5-23 00:41
本帖最后由 Entropy.S.I 于 2023-5-23 00:46 编辑

居然买酷狼Pro 8TB,亏死了。这盘的价能买一块全新HC550 18TB。如果你只为了酷狼Pro的数据恢复服务,也非常不明智,正确的操作是高强度备份。不能指望数据恢复的效果。

另外,目前不推荐用GMX2023.1跑生产模拟。2022.5或即将更新的2022.6是最合适的选择。

最后,建议逐句阅读:
http://bbs.keinsci.com/thread-33296-1-1.html
http://bbs.keinsci.com/thread-35960-1-1.html
http://bbs.keinsci.com/thread-35986-1-1.html
http://bbs.keinsci.com/thread-35988-1-1.html
http://bbs.keinsci.com/thread-37180-1-1.html

作者
Author:
欢乐多    时间: 2023-5-23 00:56
本帖最后由 欢乐多 于 2023-5-23 09:30 编辑
Entropy.S.I 发表于 2023-5-23 00:41
居然买酷狼Pro 8TB,亏死了。这盘的价能买一块全新HC550 18TB。如果你只为了酷狼Pro的数据恢复服务,也非常 ...

硬盘随便选了一款亚马逊上购买最多的,没考虑那么多,感谢指导,学习了,有空好好研究研究,又尝试编译Gromacs 2022.5版,多核进行编译,五六分钟完成安装。

作者
Author:
Novice    时间: 2023-5-23 12:54
系统安装部分发表一下我的部分建议吧。
首先是启动U盘,WePE不错,可以自行去官网下载然后自己制作,非常好用,不知道作者买的是什么。
然后是linux系统安装启动盘制作,推荐用refus(开源免费,我制作过windows和ubuntu的不同版本,都没有问题)。
作者
Author:
q11pet28abl21    时间: 2023-5-23 13:59
Entropy.S.I 发表于 2023-5-23 00:41
居然买酷狼Pro 8TB,亏死了。这盘的价能买一块全新HC550 18TB。如果你只为了酷狼Pro的数据恢复服务,也非常 ...

你好,请问版本推荐是基于什么的考虑呢?我现在用的是挺久之前你在帖子里推荐的2021.6,请问有必要更换成2022.5吗?
作者
Author:
Entropy.S.I    时间: 2023-5-23 14:13
本帖最后由 Entropy.S.I 于 2023-5-23 14:19 编辑
q11pet28abl21 发表于 2023-5-23 13:59
你好,请问版本推荐是基于什么的考虑呢?我现在用的是挺久之前你在帖子里推荐的2021.6,请问有必要更换成 ...

如果GPU是Ada架构,改用2022.5可获得近10%的性能提升。
http://bbs.keinsci.com/thread-35960-1-1.html
2023大版本目前还在初级阶段,可靠性验证还比较少,等今年底或明年初基本就可以用了

作者
Author:
lrx.mp3    时间: 2023-5-23 15:55
猛,我和楼主情况类似,全凭兴趣在自费+自学。最近也是配置了一台类似的机子,除了没有4090~哈哈哈哈 等4090骨折了,我照着楼主教程装一个看看~
作者
Author:
zwn    时间: 2023-5-23 20:55
您测试过cuda11.8下安装gmx2022.5或2023.1吗?因机器有Amber,而Amber22好像要求cuda版本低于12.0
作者
Author:
Entropy.S.I    时间: 2023-5-23 21:05
zwn 发表于 2023-5-23 20:55
您测试过cuda11.8下安装gmx2022.5或2023.1吗?因机器有Amber,而Amber22好像要求cuda版本低于12.0

显然没问题
http://bbs.keinsci.com/thread-35960-1-1.html
作者
Author:
zwn    时间: 2023-5-23 21:14
Entropy.S.I 发表于 2023-5-23 21:05
显然没问题
http://bbs.keinsci.com/thread-35960-1-1.html

看到了,感谢!测试的好细致!
作者
Author:
牧生    时间: 2023-5-24 11:29
本帖最后由 牧生 于 2023-5-24 12:18 编辑

补充一个我的方案,我用的是rockylinux 9.2,其中,在禁用默认的驱动程序这一步,简单多了
第一步.
vim /usr/lib/modprobe.d/dist-blacklist.conf   

# blacklist nvidiafb  #注释该行
blacklist nouveau  #添加此行
options nouveau modeset=0 #添加此行
保存退出此文档

第二步
vi /etc/default/grub #编辑该文档

GRUB_CMDLINE_LINUX="XXXXXXXXXXXXXXXXX=nouveaunouveau.modeset=0" #在末尾添加rd.driver.blacklist=nouveaunouveau.modeset=0 modprobe.blacklist=nouveau
保存退出,然后运行

第三步:运行如下两个命令
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.efi.cfg

做完以上步骤,也不过只花一分钟而已
重点在这里:
重启,仍然会进入桌面的,但此时的桌面图标很大,是没有驱动的那种桌面。在这种模式下,可以在图形界面装cuda和驱动的。
有些大佬有别的方法,比如多用户,或者写点代码直接屏蔽驱动。但是本菜鸡就只会上面的简单操作


作者
Author:
wenbinsu    时间: 2023-5-25 17:18
帮助很大,大赞!!
作者
Author:
MercuryLamp    时间: 2023-6-1 12:48
本帖最后由 MercuryLamp 于 2023-6-1 12:51 编辑

您好,请问您有测试gromacs 2022.5的性能数据吗?我这边除了fftw是按照卢老师的教程先编译好的外,其他步骤基本都是按照您的教程操作,安装了gromacs 2022.5。但在用您提供的例子进行测试时,发现不使用-update gpu时是1386ns/day,使用-update gpu时是2144ns/day,和您的3208ns/day仍有一定差距,不知是不是我哪里操作有问题
作者
Author:
Entropy.S.I    时间: 2023-6-1 16:09
本帖最后由 Entropy.S.I 于 2023-6-1 16:17 编辑
MercuryLamp 发表于 2023-6-1 12:48
您好,请问您有测试gromacs 2022.5的性能数据吗?我这边除了fftw是按照卢老师的教程先编译好的外,其他步骤 ...

什么CPU?如果是单核弱鸡的CPU,这种性能不奇怪
http://bbs.keinsci.com/thread-33296-1-1.html



update:看了一眼你之前的发帖,如果是拿7R32配了4090,我只能说节哀顺变,把4090当成4080用吧



作者
Author:
MercuryLamp    时间: 2023-6-1 16:53
本帖最后由 MercuryLamp 于 2023-6-1 16:58 编辑
Entropy.S.I 发表于 2023-6-1 16:09
什么CPU?如果是单核弱鸡的CPU,这种性能不奇怪
http://bbs.keinsci.com/thread-33296-1-1.html

您好,这是我们课题组的另一台机器,cpu是7950x,gpu是4090。其他配置的话参考了这个帖子(http://bbs.keinsci.com/forum.php?mod=viewthread&tid=36551&highlight=%BB%FA%C6%F7%D1%A7%CF%B0)楼主的配置2以及您在这个帖子的回复。
作者
Author:
Entropy.S.I    时间: 2023-6-1 17:25
本帖最后由 Entropy.S.I 于 2023-6-1 17:31 编辑
MercuryLamp 发表于 2023-6-1 16:53
您好,这是我们课题组的另一台机器,cpu是7950x,gpu是4090。其他配置的话参考了这个帖子(http://bbs.ke ...

模型太小,才3400原子,如今跑正经的经典MD不可能使用如此小的模型,故不具有参考价值。

应该使用10万原子以上的模型进行测试,这才是如今主流的尺度。具体模型,可以用GMX官方的https://www.mpinat.mpg.de/grubmueller/bench
和此论文的“DATA AVAILABILITY”中的J. Chem. Phys. 2020, 153, 134110

也可以下载我去年10月测试文章的SI,用脚本一键运行。不要被.exe格式劝退,那是个自解压压缩包,在Windows下双击即可解压。用自解压压缩包是因为阿里云盘不能分享一般的压缩包。
作者
Author:
MercuryLamp    时间: 2023-6-1 17:44
Entropy.S.I 发表于 2023-6-1 17:25
模型太小,才3400原子,如今跑正经的经典MD不可能使用如此小的模型,故不具有参考价值。

应该使用10万 ...

好的,感谢您的意见,我试一下
作者
Author:
欢乐多    时间: 2023-6-2 02:52
MercuryLamp 发表于 2023-6-1 12:48
您好,请问您有测试gromacs 2022.5的性能数据吗?我这边除了fftw是按照卢老师的教程先编译好的外,其他步骤 ...

Gromacs 2023.1(3200 ns/day)要比Gromacs 2022.5(2400 ns/day)快一些,跟软件也有关系
作者
Author:
MercuryLamp    时间: 2023-6-2 09:06
欢乐多 发表于 2023-6-2 02:52
Gromacs 2023.1(3200 ns/day)要比Gromacs 2022.5(2400 ns/day)快一些,跟软件也有关系

哦哦,好的,非常感谢
作者
Author:
Entropy.S.I    时间: 2023-6-2 09:49
本帖最后由 Entropy.S.I 于 2023-6-2 09:50 编辑
欢乐多 发表于 2023-6-2 02:52
Gromacs 2023.1(3200 ns/day)要比Gromacs 2022.5(2400 ns/day)快一些,跟软件也有关系

启用CUDA graph功能,小体系性能还能提升一截。CUDA graph是一种新的GPU任务调度机制,可以减少GPU驱动的CPU开销。
https://manual.gromacs.org/2023/ ... or/performance.html
https://gitlab.com/gromacs/gromacs/-/issues/4277
作者
Author:
MercuryLamp    时间: 2023-6-2 10:44
本帖最后由 MercuryLamp 于 2023-6-2 12:09 编辑
Entropy.S.I 发表于 2023-6-1 17:25
模型太小,才3400原子,如今跑正经的经典MD不可能使用如此小的模型,故不具有参考价值。

应该使用10万 ...

大佬您好,我按照您的建议下载了您去年10月测试文章(http://bbs.keinsci.com/thread-33296-1-1.html)的SI进行了测试。因为我使用的是GMX2022.5和CUDA12.1,因此我与您3月份文章(http://bbs.keinsci.com/thread-35960-1-1.html)中的数据进行了对比,发现似乎不管是bonded CPU还是GPU-resident,我测试出的性能都低于您测试的数据,且在核数较少时,随核数增多,性能差异越来越大,具体的测试数据我放在了附件的xlsx文件中,想请教一下您这可能是什么原因造成的呢?如果您有空的话能否帮我分析一下,万分感谢。

我们这边机器硬件为:
CPU—7950X,GPU—4090,内存—2*金百达银爵DDR5 6400MT/s CL32,主板—技嘉B650M AORUS ELITE AX 小雕
软件环境为:
Rocky Linux 9.2;Linux version 5.14.0-284.11.1.el9_2.x86_64;GNU11.3; CUDA Toolkit 12.1; NVIDIA GPU Driver 530.30.02

作者
Author:
Entropy.S.I    时间: 2023-6-2 12:21
MercuryLamp 发表于 2023-6-2 10:44
大佬您好,我按照您的建议下载了您去年10月测试文章(http://bbs.keinsci.com/thread-33296-1-1.html)的 ...

怀疑你把4090插在了不正确的PCIe slot上。刚刚回完一个贴http://bbs.keinsci.com/thread-37587-1-1.html 8楼
作者
Author:
MercuryLamp    时间: 2023-6-2 19:16
本帖最后由 MercuryLamp 于 2023-6-2 19:46 编辑
Entropy.S.I 发表于 2023-6-2 12:21
怀疑你把4090插在了不正确的PCIe slot上。刚刚回完一个贴http://bbs.keinsci.com/thread-37587-1-1.html  ...

谢谢您的回复,不过我们这边刚刚检查了一下,是没有插错的,我们这边再找找有没有其他问题,谢谢您

update:我在看cmake的输出时,发现了如下的输出,不知这个是否会有影响?
  1. -- Adding work-around for issue compiling CUDA code with glibc 2.23 string.h
  2. -- Check for working NVCC/C++ compiler combination with nvcc '/usr/local/cuda-12.1/bin/nvcc'
  3. -- Check for working NVCC/C++ compiler combination - works
  4. -- Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35
  5. -- Checking if nvcc accepts flags --generate-code=arch=compute_35,code=sm_35 - Failed
  6. -- Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37
  7. -- Checking if nvcc accepts flags --generate-code=arch=compute_37,code=sm_37 - Failed
复制代码
完整的输出中我也发现了一些其他的含Failed的内容,不知有没有大佬能帮忙解答一下


作者
Author:
Entropy.S.I    时间: 2023-6-2 20:43
MercuryLamp 发表于 2023-6-2 19:16
谢谢您的回复,不过我们这边刚刚检查了一下,是没有插错的,我们这边再找找有没有其他问题,谢谢您

up ...

这是Kepler架构GPU的SM编号,CUDA 12移除了对Kepler架构的支持,所以检测不到相应的flags。这完全不影响4090,所以不是你GMX性能不正常的原因。

建议在运行mdrun时使用"nvidia-smi dmon -s pucvmt -o T"命令监测GPU实时详细性能数据(可以加上-f [输出文件名]以将所有信息直接保存到文本文件中),使用s-tui工具检测CPU实时功耗、各核心频率等数据,以进一步排查问题。另外,也把mdrun的log上传一下。
作者
Author:
MercuryLamp    时间: 2023-6-2 22:47
Entropy.S.I 发表于 2023-6-2 20:43
这是Kepler架构GPU的SM编号,CUDA 12移除了对Kepler架构的支持,所以检测不到相应的flags。这完全不影响4 ...

好的,非常感谢您的建议,我们这边再测试一下,之后再将结果拿过来请教您
作者
Author:
MercuryLamp    时间: 2023-6-3 23:11
本帖最后由 MercuryLamp 于 2023-6-3 23:13 编辑
Entropy.S.I 发表于 2023-6-2 20:43
这是Kepler架构GPU的SM编号,CUDA 12移除了对Kepler架构的支持,所以检测不到相应的flags。这完全不影响4 ...

大佬您好,受您的指导,我们又做了一次测试,并监测了GPU和CPU的实时数据,发现在测试STMV和benchPEP-h这两个例子时,CPU确实存在未完全使用的问题,但感觉可能还有其他原因,因为前面几个例子(A, A-2, B, B-TI)在测试时CPU是全部使用了的,对于bonded CPU的一些输出文件我打包在了附件的压缩包中(GPU-resident的数据还在测试中),还望您能再抽空指导一下,万分感谢


作者
Author:
Entropy.S.I    时间: 2023-6-4 00:00
本帖最后由 Entropy.S.I 于 2023-6-4 00:07 编辑
MercuryLamp 发表于 2023-6-3 23:11
大佬您好,受您的指导,我们又做了一次测试,并监测了GPU和CPU的实时数据,发现在测试STMV和benchPEP-h这 ...

后面几个百万、千万原子的模型,CPU没啥瓶颈,核数分多了用不满,正常。

你提供的log我看过了,和这一模一样的情况我没遇到过,目前还是比较怀疑问题出在PCIe通信上。目前我能提供的下一步排查思路是:在跑mdrun的时候使用nvidia-smi -q | grep 'GPU Link Info' -A 9命令查看PCIe Generation > Current和Link Width > Current这2项,检查一下PCIe实际的链接速率是否为Gen4 x16,说不定是BIOS把PCIe Generation限制在Gen1了……

没必要把我之前benchmark的那些任务老实跑完,浪费时间,手动跑几个就行了。

作者
Author:
MercuryLamp    时间: 2023-6-4 11:00
本帖最后由 MercuryLamp 于 2023-6-4 12:14 编辑
Entropy.S.I 发表于 2023-6-4 00:00
后面几个百万、千万原子的模型,CPU没啥瓶颈,核数分多了用不满,正常。

你提供的log我看过了,和这一 ...

好的,感谢您的建议,我们这边再排查看看

update:我用A这个例子又测试了一下,发现不管有没有任务运行,nvidia-smi -q | grep 'GPU Link Info' -A 9的输出均为:
  1. GPU Link Info
  2.     PCIe Generation
  3.         Max                       : 1
  4.         Current                   : 1
  5.         Device Current            : 1
  6.         Device Max                : 4
  7.         Host Max                  : 1
  8.     Link Width
  9.         Max                       : 16x
  10.         Current                   : 16x
复制代码



作者
Author:
Entropy.S.I    时间: 2023-6-4 12:30
MercuryLamp 发表于 2023-6-4 11:00
好的,感谢您的建议,我们这边再排查看看

update:我用A这个例子又测试了一下,发现不管有没有任务运 ...

问题很明确,就是我前面推测的,主板把PCIe Generation限制在Gen1了。应该去主板BIOS中修正此选项为auto。顺便也建议先更新主板BIOS,最新BIOS在主板官网下载。
作者
Author:
MercuryLamp    时间: 2023-6-4 12:36
本帖最后由 MercuryLamp 于 2023-6-4 17:24 编辑
Entropy.S.I 发表于 2023-6-4 12:30
问题很明确,就是我前面推测的,主板把PCIe Generation限制在Gen1了。应该去主板BIOS中修正此选项为auto ...

好的,非常感谢您的指导

更新:这边按您的意见先进bios看了一下相关选项,发现已经是auto了。但主板bios版本太老了(F2),官网最新版本为F6b,更新bios版本后重新输入nvidia-smi -q | grep 'GPU Link Info' -A 9,输出为:
  1. GPU Link Info
  2.     PCIe Generation
  3.         Max                       : 4
  4.         Current                   : 4
  5.         Device Current            : 4
  6.         Device Max                : 4
  7.         Host Max                  : 5
  8.     Link Width
  9.         Max                       : 16x
  10.         Current                   : 16x
复制代码


又拿benchmark中的A进行了测试,速度与之前相比有着巨大的提升,但与您的参考数据仍有一点差距(多核时约为10%-20%),不知能否让性能再提升一点。



作者
Author:
Amphibiouskii    时间: 2023-6-17 16:31
牧生 发表于 2023-5-24 11:29
补充一个我的方案,我用的是rockylinux 9.2,其中,在禁用默认的驱动程序这一步,简单多了
第一步.
vim / ...

大佬好,请问第二步
GRUB_CMDLINE_LINUX="XXXXXXXXXXXXXXXXX=nouveaunouveau.modeset=0" #在末尾添加rd.driver.blacklist=nouveaunouveau.modeset=0 modprobe.blacklist=nouveau,
保存退出,然后运行

这里的在末尾添加是在引号内还是引号外啊?还有就是我这里的原始显示是:
  1. GRUB_CMDLINE_LINUX="crashkernel=auto resume=M3UUID=2cee213f-d2c7-415c-9699-35477a765aca rhgb quiet"
复制代码

引号内的部分需要跟楼主改成一样的吗,还是保持原样直接添加就行?
作者
Author:
牧生    时间: 2023-6-17 19:53
Amphibiouskii 发表于 2023-6-17 16:31
大佬好,请问第二步

这里的在末尾添加是在引号内还是引号外啊?还有就是我这里的原始显示是:

末尾的引号内
作者
Author:
Amphibiouskii    时间: 2023-6-19 19:40
牧生 发表于 2023-6-17 19:53
末尾的引号内

好的,非常感谢!
作者
Author:
jim    时间: 2024-1-13 11:26
请教一下,请问禁用了哪些默认驱动?禁用默认驱动的目的是什么呀?
我按照sob老师的帖子和本帖内容,想从2022.5升级到2023.2,一直都没成功。
报错提示如图:


请问各位老师如何解决?

作者
Author:
欢乐多    时间: 2024-1-15 10:21
jim 发表于 2024-1-13 11:26
请教一下,请问禁用了哪些默认驱动?禁用默认驱动的目的是什么呀?
我按照sob老师的帖子和本帖内容,想从2 ...

硬件有两个显卡,一是主板内置的显卡(驱动是centos系统自带的驱动),另一是装的GTX4090显卡(驱动是另外安装的NVIDIA驱动),禁用的驱动是系统自带的驱动,使得能够使用NVIDIA的驱动,这样Gromacs能够调用。您的截图好像是安装make问题,估计安装不成功跟驱动关系不大。估计是cmake3的问题,可尝试重新安装cmake3.
作者
Author:
wangyueda    时间: 2024-3-8 15:01
Entropy.S.I 发表于 2023-5-23 14:13
如果GPU是Ada架构,改用2022.5可获得近10%的性能提升。
http://bbs.keinsci.com/thread-35960-1-1.html
...

请问下,当前时间可以使用GMX 2023.4版本了吗?其GPU加速效果相较于2022版本是否有了较大提升?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3