计算化学公社

标题: 求助gromacs多核运行CPU利用率问题 [打印本页]

作者
Author:
Sasuke    时间: 2020-10-19 21:55
标题: 求助gromacs多核运行CPU利用率问题
2018版gromacs  我的单机cpu是24个核,想12核运行,输入指令 gmx mdrun -s topol.tpr -ntmpi 12  结果用top 发现CPU利用率4800%如下图所示 远超过100%这是怎么回事?不应该是12个100%嘛?一个核4800%的利用率会不会影响CPU寿命。。。

作者
Author:
snljty    时间: 2020-10-19 22:23
本帖最后由 snljty 于 2020-10-19 23:45 编辑

看看你是不是编译的thread_mpi和openmp混合并行版,然后把环境变量OMP_NUM_THREADS设成4了?尝试运行前export OMP_NUM_THREADS=1然后gmx mdrun加上参数-ntomp 1试试。-ntmpi 1 -ntomp 12等组合也可以尝试。一般推荐再加上-pin on
作者
Author:
abin    时间: 2020-10-19 22:59
在单机上搞MPI版本,真是闲的。
作者
Author:
sobereva    时间: 2020-10-19 23:38
abin 发表于 2020-10-19 22:59
在单机上搞MPI版本,真是闲的。

gromacs默认编译的时候直接支持thread-mpi(gmx自己人搞的线程级轻量化MPI)和OpenMP混合并行。LZ用的是这种情况编译的
作者
Author:
Sasuke    时间: 2020-10-20 09:33
snljty 发表于 2020-10-19 22:23
看看你是不是编译的thread_mpi和openmp混合并行版,然后把环境变量OMP_NUM_THREADS设成4了?尝试运行前expo ...

谢谢回复!用了-ntmpi 1 -ntomp 12操作现在变成1200%了,但是之前用4.0版本的时候用mpirun -np 8 mdrun -s topol.tpr 命令之后就会出现下图这种8个核都是100%而且输出文件就是一个轨迹文件,现在在2018版本上用mpirun -np 8 mdrun -s topol.tpr 也会有8个核运行但是会输出8个轨迹文件,我想让这个8个核同时处理一个任务并且输出一个轨迹文件怎么弄呀?也就是说不要让单个cpu的功率超过100%。像下图这种的。
作者
Author:
liuyuje714    时间: 2020-10-20 09:47
本帖最后由 liuyuje714 于 2020-10-20 09:55 编辑

你说的有问题,既然用mpi并行(mpirun方式),你就必须编译mpi版本的gmx_mpi,调用都是用的mpirun -np x gmx_mpi mdrun xxx 命令,而你这说的就是个mdrun明显有问题,如果你编译的gmx没涉及到openmpi或者mpich,你就不能用mpirun的方式调用,即便没报错也是操作错误的,轨迹会同时产生多个,这是错误的。
还有显示的4800%是完全没有问题的,这个利用率指的是调用的线程总数。
是否有多个gmx进程完全取决于你是否用的mpi版本gmx_mpi,你这明显就是用的gmx自带的thread_mpi和openmp,所以没有任何问题。









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