计算化学公社

 找回密码 Forget password
 注册 Register

2023年3月MD benchmark测试首篇——4090悄悄变快了

查看数: 6010 | 评论数: 18 | 收藏 Add to favorites 6
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-3-21 22:29

正文摘要:

本帖最后由 Entropy.S.I 于 2023-6-25 01:14 编辑 2023年3月MD benchmark测试首篇——4090悄悄变快了[本文首发于计算化学公社 | 文 熵增焓减 | yult-entropy@qq.com | 2023-03]本系列文章另外2篇:中篇——W790平 ...

回复 Reply

牧生 发表于 Post on 2023-4-28 17:10:47
Entropy.S.I 发表于 2023-4-28 16:49
http://bbs.keinsci.com/thread-33296-1-1.html

已经买了个拓展坞,正在路上。
牧生 发表于 Post on 2023-4-28 14:44:55
本帖最后由 牧生 于 2023-4-28 14:46 编辑

近日,影驰4090到了,但是,4090太大了,原本机箱里面能同时装1080ti+3090,而现在只能装一个4090了。

在现有的6149 cpu情况下,跑gmx2022.5的时候,4090占用率85%左右,速度是原本3090的1.6倍速度左右。
不想飞的猫头鹰 发表于 Post on 2023-3-30 10:58:18
本帖最后由 不想飞的猫头鹰 于 2023-3-30 11:09 编辑
Entropy.S.I 发表于 2023-3-29 18:10
至少加上-pin on -update gpu,我不知道你用的CPU是什么,但只用8个OpenMP线程且不加-bonded gpu在大多数 ...

嗯嗯,昨晚开组会,才看到消息,实在抱歉。看啦,因为考虑到有时候需要稍微跑一下gaussian做优化加振动分析,sob老师建议纯大核,就综合您的推荐买了7950X,我是习惯分成两组八个核心给不同小任务来学习和练习,要是用来跑大任务就把所有核心都用上啦。之前没加-update gpu是我把gmx2018.4的操作习惯也放到2021.6上了,在2018.4版本中不能用-update选项,不然会报错,估计是版本有点久所以没这个功能,组里换新机后觉得相比于之前快多了就很知足了就没在2021.6上尝试,让您见笑啦。刚才用gmx2021.6用Justin教程中的小分子跑了下,gmx mdrun -v -deffnm md -ntmpi 1 -ntomp 16 -pin on -pinstride 1 -update gpu -gpu_id 0,比起单纯的gmx mdrun -v -deffnm md -ntmpi 1 -ntomp 16 -gpu_id 0快了将近百分之70,gpu占用率也从百分之67提升到了百分之89,太感谢您啦那个报错信息就是cat /var/log/cuda-installer.log显示的信息,里面显示的报错信息是-> The file '/tmp/.X0-lock' exists and appears to contain the process ID '1991' of a running X server.ERROR: You appear to be running an X server; please exit X before installing.  For further details, please see the section INSTALLING THE NVIDIA DRIVER in the README available on the Linux driver download page at www.nvidia.com.
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

看起来果然是运行着X server的原因,之前是想装ifort来着,但是看sob老师是在图形页面下操作的,跟着csdn帖子开图形页面,在nvidia-smi进程中就总是有个/usr/libexec/Xorg进程,用kill -9 xxx(pid)杀掉也总是又自动出现新进程。目前看来至少找到问题所在了,我去鼓捣一下。再次向您表示感激,受教啦!
Entropy.S.I 发表于 Post on 2023-3-29 18:10:08
本帖最后由 Entropy.S.I 于 2023-3-29 18:18 编辑
不想飞的猫头鹰 发表于 2023-3-29 08:41
嗯嗯,十分感谢,我这个服务器除了gmx还装了一些软件,而且就入门级主板,没有更多插槽啦,所以这个配置 ...

至少加上-pin on -update gpu,我不知道你用的CPU是什么,但只用8个OpenMP线程且不加-bonded gpu在大多数情况下都严重浪费了3080Ti的性能。前面的测试都是默认使用HT的,例如对于7950X,用-ntmpi 1 -ntomp 32 -pin on -pinstride 1 -update gpu。你认真看去年10月的文章了吗…?

/var/log/cuda-installer.log里写着让你自己看一下/var/log/nvidia-installer.log,那就去看一下。你有按照我前面说的把老驱动卸载并彻底停止桌面GUI服务吗?不做这些操作必然报错。


update: 看了眼你之前发的贴,似乎CPU是13900K,那么用-ntmpi 1 -ntomp 31 -pin on -pinstride 1 -update gpu,留出1个E-Core是给系统进程和驱动用的

不想飞的猫头鹰 发表于 Post on 2023-3-29 08:41:49
本帖最后由 不想飞的猫头鹰 于 2023-3-29 08:45 编辑
Entropy.S.I 发表于 2023-3-29 01:39
如果还没有做很多配置,最好现在就换系统。

不装CUDA开发环境,没法编译GMX的CUDA版本。

嗯嗯,十分感谢,我这个服务器除了gmx还装了一些软件,而且就入门级主板,没有更多插槽啦,所以这个配置买来就算是终身定死了机器是放到学校机房的,进出手续比较麻烦,装系统得去机房,linux菜鸟估计得折腾大半天,换系统只能等下次组里升级设备的时候我提前让供应商或者我在手边装好,再放到机房去了。我到手后只是负责装驱动,在/usr/local文件夹下看到了有个cuda文件夹叫cuda-11.6,这个就是供应商给提前装好的cuda吧(不然gmx可能也就没法使用显卡加速了,gmx的安装是按照sob老师帖子的添加了cuda加速版本的编译命令的方法安装的gmx 2021.6,目前执行mdrun是gmx mdrun -v -deffnm xx -ntmpi 1 -ntomp 8 -gpu_id 0,执行后在另一个远程终端执行nvidia-smi可以看出显卡确实有负载),而出现掉驱动问题的只是驱动与系统兼容问题是吗(试了一堆驱动版本,最终515.57版本终于不会在重启后掉驱动了)?
我尝试了一下在root用户下,执行了wget https://developer.download.nvidi ... 530.30.02_linux.run并执行此运行文件,accpet之后install显示报错,让我查看/var/log/cuda-installer.log,显示Finished with code: 256
[ERROR]: Install of driver component failed. Consult the driver log at /var/log/nvidia-installer.log for more details.
[ERROR]: Install of 530.30.02 failed, quitting看起来又失败了,不敢再在服务器上试了,有空了我自己买个便宜显卡在闲置电脑上装着练手~~
我看您给的链接以及搜到的帖子说,
“CUDA有两个主要的API:runtime(运行时) API和driver API,这两个API都有对应的CUDA版本。driver API是通过GPU driver installer安装的,可理解为系统出场安装的默认驱动,nvidia-sim显示的是 driver API。runtime API是通过CUDA toolkit安装的,可理解为用户自己安装的驱动,nvcc显示的是runtime API。因此,在设计层面这两个数字就不一定匹配,因为它们反映了两种不同的事物。通常情况下,这两个显示都是不一样的,不过不用担心,只要driver API比runtime API高,一般都没问题。”
我的理解是,cuda是一种核心架构,类似于amd的流处理器,这个架构能为并行计算提供加速服务,cuda toolkit本身是一种集成了对这个框架运行起来的算法支持和必要的依赖,并且自带一个适配的nvidia driver的综合软件包(只有nvidia driver的也就是只有几百兆的那个run文件,而这个cuda....run足足有3.95G,/usr/local目录下的cuda文件夹占用空间有5.4G,另外还有个cudnn,说是个函数库,类似于mkl,不做相关的东西可以不装),而nvidia driver又可以独立安装,所以cuda在系统内核和gcc支持的情况下,尽可能装较新的,而驱动也是只要和系统兼容就最新最好?
以前在windows下只装过所谓的“显卡驱动”,看来并不是cuda,做科研之后才接触linux,感觉linux好复杂呀
Entropy.S.I 发表于 Post on 2023-3-29 01:39:39
不想飞的猫头鹰 发表于 2023-3-28 22:30
嗯嗯,感谢您的回复,我的机器已经被装好centos了,之后组里换新机器了就用rockylinux。是不是运行了run ...

如果还没有做很多配置,最好现在就换系统。

不装CUDA开发环境,没法编译GMX的CUDA版本。

GPU驱动中显示的CUDA版本是当前驱动兼容的CUDA版本。

兼容性关系和其他具体问题应该去看NVIDIA官方的手册https://docs.nvidia.com/cuda/cud ... de-linux/index.htmlhttps://docs.nvidia.com/deploy/cuda-compatibility/index.html,这上面讲的比任何地方都详细。
不想飞的猫头鹰 发表于 Post on 2023-3-28 23:19:56
本帖最后由 不想飞的猫头鹰 于 2023-3-29 07:35 编辑
Entropy.S.I 发表于 2023-3-28 21:43
@不想飞的猫头鹰

1. 新装系统不要用CentOS,换Rocky或Ubuntu。

非常感谢您的热心回复,我之后用新机器就按您说的装rockylinux,目前用的是centos8.5.2111,gcc8.5.0,因为当时买不起4090所以先用着3080ti,以后有机会再升级。供应商给我的安装驱动的操作方法如下(怕图片附带不上我手动改成文字了):
1、Linux查看显卡信息:(ps:若找不到lspci命令,可以安装 yum install pciutils)
lspci | grep -i vga
2、使用nvidia GPU可以:
lspci | grep -i nvidia
3、查看显卡驱动
cat /proc/driver/nvidia/version
1.安装依赖环境:
yum install kernel-devel gcc -y
2.检查内核版本和源码版本,保证一致
ls /boot | grep vmlinu
rpm -aq | grep kernel-devel
lsmod | grep nouveau
修改dist-blacklist.conf文件:
vim /lib/modprobe.d/dist-blacklist.conf
将nvidiafb注释掉:
#blacklist nvidiafb
然后添加以下语句:
blacklist nouveau
options nouveau modeset=0
4.重建initramfs image步骤
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)
5.重新启动
reboot
6.修改运行级别为文本模式
init 3
7.安装
chmod +x NVIDIA-Linux-x86_64-510.60.02.run
./NVIDIA-Linux-x86_64-510.60.02.run --no-opengl-files --ui=none --no-questions --accept-license
8.从文本模式修改为图形界面
init 5
这个相比于您回复的https://developer.nvidia.com/cuda-toolkit-archive下载的cuda.....run,从https://www.nvidia.cn/geforce/drivers/下载运行的run是不是只是装了驱动而没装cuda呀?虽然安装后nvidia-smi能正常显示显卡信息,但这个只是显示驱动发布时对应的cuda版本号信息,并不是代表机器中的cuda版本吧?cuda不安装的话对gmx或者其他软件的运行性能会有什么影响?另外,我按照供应商这个步骤进行安装,发现机器重启后会掉驱动(nvidia-smi报错),查了很多csdn帖子后感觉是系统和驱动不兼容的问题,是否是centos8.5.2111已经是centos-stream之前的最后一个稳定版,太久不更新内核而不支持新驱动的原因?cuda,cudnn,gcc,系统版本,驱动之间的兼容关系是什么呀?
问题有点杂,十分感谢您的不吝赐教,希望也能供大家参考和指教!
不想飞的猫头鹰 发表于 Post on 2023-3-28 22:30:21
本帖最后由 不想飞的猫头鹰 于 2023-3-29 07:34 编辑
Entropy.S.I 发表于 2023-3-28 21:43
@不想飞的猫头鹰

1. 新装系统不要用CentOS,换Rocky或Ubuntu。

嗯嗯,感谢您的回复
不想飞的猫头鹰 发表于 Post on 2023-3-28 21:09:30
楼主大大可不可以详细讲讲centos纯远程命令行控制下怎么安装cuda和更新显卡驱动,以及怎么在gmx编译时就添加新架构优化的方法吗?我跟着sob老师的帖子装gmx感觉都很复杂啦,也怕把服务器搞坏了,不敢随便跟着网上的教程去动显卡驱动,十分感谢呀
abdoman 发表于 Post on 2023-3-28 17:12:21
Entropy.S.I 发表于 2023-3-22 14:27
编译LAMMPS的Kokkos要自己指定架构,具体可以看https://docs.lammps.org/Build_extras.html#kokkos-packa ...

非常感谢细致的解答!
Entropy.S.I 发表于 Post on 2023-3-22 23:04:58
本帖最后由 Entropy.S.I 于 2023-3-22 23:10 编辑
ogrebit 发表于 2023-3-22 15:43
楼主,你好,你的贴子很有意义,对大家使用gmx上发挥硬件的性能很有帮助。有一个问题想向你咨询一下,请 ...

B-TI模型就是你要的答案。FEP和TI在具体MD模拟上是一样的,都是分别模拟若干个不同lambda下的轨迹。
B-TI模型具体是啥,去年10月的文章介绍过了http://bbs.keinsci.com/thread-33296-1-1.html

要用4090跑经典MD,就别想着用现成的单核性能弱鸡的服务器平台了,应该重新配一套平台,去看我刚发的这个系列文章的最终章,很仔细地讲了这个问题。除非经费低得一塌糊涂,只有1万多,只够买1块4090,那只能先买块4090插在现成的平台上凑合用。

一块GPU同时跑多个GMX模拟,性能是比较差的,GMX没有专门优化这方面。但是SPONGE可以很好地处理这种模式。
Entropy.S.I 发表于 Post on 2023-3-22 22:57:33
hxd_yi 发表于 2023-3-22 15:59
5000多的V100?不敢赌啊。

16G,不是32G

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 11:30 , Processed in 0.214077 second(s), 27 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list