计算化学公社

标题: Gromacs并行计算中MPI与OPENMP的问题 [打印本页]

作者
Author:
tobeant    时间: 2015-12-30 16:47
标题: Gromacs并行计算中MPI与OPENMP的问题
最近,同事帮忙在linux系统下编译了Gromacs-4.6.7,发现并行计算时存在WARNING,请求各位帮忙解决,谢谢。采用pbs脚本提交单节点并行作业,计算节点共包含12cpu,12线程
命令形式为 mpirun -machinefile $PBS_NODEFILE -np 12 mdrun_mpi -deffnm nvt


输出文件中出现WARNING,但并不影响作业运行:

Using 12 MPI processes
Using 12 OpenMP threads per process

WARNING: Oversubscribing the available 12 logical CPU cores with 144 threads.
                  This will cause considerable performance loss!
"
如果不用pbs,直接在管理节点用”mdrun_mpi -deffnm nvt“进行计算,则显示

Using 1 MPI processes
Using 24 OpenMP threads per process

管理节点没有关闭超线程,所以有24个线程,计算速度是24个线程并行的速度

如果用pbs脚本指定计算节点中一个cpu计算,则输出

Using 1 MPI processes
Using 1 threads per process

计算速度是一个线程的速度


不知道并行中出现的WARNING是什么原因,对计算速度影响有多大?谢谢各位。






作者
Author:
ruanyang    时间: 2015-12-30 19:30
应该是 满负荷 运行 会造成 计算效率的下降。改成 8 CPU 12 线程  试试计算速度是否满足需求!
作者
Author:
bluewhale    时间: 2015-12-30 20:26
是什么机器有12cpu,12线程 per CPU?
作者
Author:
tobeant    时间: 2015-12-30 22:38
ruanyang 发表于 2015-12-30 19:30
应该是 满负荷 运行 会造成 计算效率的下降。改成 8 CPU 12 线程  试试计算速度是否满足需求!

cpu数可以用mdrun_mpi -np更改,线程数怎么改呢?
作者
Author:
tobeant    时间: 2015-12-30 22:47
bluewhale 发表于 2015-12-30 20:26
是什么机器有12cpu,12线程 per CPU?

Gromacs这么输出的,感觉很奇怪, 集群一个计算节点有2个cpu,一个cpu有6个核,一个核有2个线程,这样总共有24个超线程,后来管理员关闭了超线程,每个节点就只能用12个核数并行,我自己也不是很懂,帖子里交代的不是太清楚,见谅。




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