计算化学公社

标题: gamess并行计算的问题 [打印本页]

作者
Author:
po390    时间: 2015-11-5 18:15
标题: gamess并行计算的问题
请教各位,本人初学gamess,已经参考教程(http://sobereva.com/193)在服务器中安装好gamess,但目前只能进行单核计算,无法进行多核并行,我尝试用命令: rungms den.inp 12 4 >& k.log &  时,提示下列错误:

----- GAMESS execution script 'rungms' -----
This job is running on host c01n06
under operating system Linux at Thu Nov 5 17:50:46 CST 2015
Available scratch disk space (Kbyte units) at beginning of the job is
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/home        23437492224 5748536320 17688955904  25% /home
GAMESS temporary binary files will be written to /home/shen/gamess/scr/shen
GAMESS supplementary output files will be written to /home/shen/gamess/scr
Copying input file den-1.inp to your run's scratch directory...
cp den-1.inp /home/shen/gamess/scr/shen/den.F05
unset echo
I do not know how to run this node in parallel.

这个问题到底是我安装的问题还是机器本身的问题?
先在此万分感谢各位啦!!


作者
Author:
sobereva    时间: 2015-11-5 18:22
应该是rungms的配置有问题,再仔细参考博文第4节。
作者
Author:
po390    时间: 2015-11-5 18:42
sobereva 发表于 2015-11-5 18:22
应该是rungms的配置有问题,再仔细参考博文第4节。

感谢sob的回复,我的rungms文件开头设置是这样的

set TARGET=sockets
set SCR=/home/shen/gamess/scr/shen
set USERSCR=/home/shen/gamess/scr
set GMSPATH=/home/shen/gamess

是按照博文要求改的,是还需要配置其他地方吗?
作者
Author:
sobereva    时间: 2015-11-5 19:10
po390 发表于 2015-11-5 18:42
感谢sob的回复,我的rungms文件开头设置是这样的

set TARGET=sockets


光是开头改了没用,后面诸如set HOSTLIST=(`hostname`:cpus=$NCPUS)这些也必须填上,否则程序不知道节点配置情况
作者
Author:
po390    时间: 2015-11-5 20:45
sobereva 发表于 2015-11-5 19:10
光是开头改了没用,后面诸如set HOSTLIST=(`hostname`:cpus=$NCPUS)这些也必须填上,否则程序不知道节 ...

实在麻烦sob兄了,刚才是我没说清楚,switch后面我也加了,也无法多核运行
这是我在switch后面添加的情况,只有case hpc: 是我添加,其他的我都没改

   if ($NCPUS > 1) then
      switch (`hostname`)
                  case hpc:
                  set NNODES=1
                  set HOSTLIST=(`hostname`:cpus=$NCPUS)
                  breaksw
         case se.msg.chem.iastate.edu:
         case sb.msg.chem.iastate.edu:
            if ($NCPUS > 2) set NCPUS=2
            set NNODES=1
            set HOSTLIST=(`hostname`:cpus=$NCPUS)
            breaksw
         case br.msg.chem.iastate.edu:
            if ($NCPUS > 8) set NCPUS=8
            set NNODES=1
            set HOSTLIST=(`hostname`:cpus=$NCPUS)
            breaksw
         case cd.msg.chem.iastate.edu:
         case zn.msg.chem.iastate.edu:
         case ni.msg.chem.iastate.edu:
         case co.msg.chem.iastate.edu:
         case pb.msg.chem.iastate.edu:
         case bi.msg.chem.iastate.edu:
         case po.msg.chem.iastate.edu:
         case at.msg.chem.iastate.edu:
         case sc.msg.chem.iastate.edu:
            if ($NCPUS > 4) set NCPUS=4
            set NNODES=1
            set HOSTLIST=(`hostname`:cpus=$NCPUS)
            breaksw
         case ga.msg.chem.iastate.edu:
         case ge.msg.chem.iastate.edu:
         case gd.msg.chem.iastate.edu:
            if ($NCPUS > 6) set NCPUS=6
            set NNODES=1
            set HOSTLIST=(`hostname`:cpus=$NCPUS)
            breaksw
         default:
            echo I do not know how to run this node in parallel.
            exit 20
      endsw
   endif

编译gamess的时候是严格按博文中提供的过程编译的,单核运行的效果良好,所有测试例子都可以做出来,只有在并行的时候出问题,搞了好几天还是无法解决,还望sob大神指点!
作者
Author:
sobereva    时间: 2015-11-6 11:18
你在case hpc:下面加一条随意输出文字的语句,然后运行rungms时看看这条文字是否输出了,以判断到底走没走这个case
当前情况,很明显,走的是这个分支
default:
            echo I do not know how to run this node in parallel.
            exit 20


作者
Author:
po390    时间: 2015-11-6 12:23
sobereva 发表于 2015-11-6 11:18
你在case hpc:下面加一条随意输出文字的语句,然后运行rungms时看看这条文字是否输出了,以判断到底走没走 ...

太感谢sob大神了!!!!!
我试着再调式了下果然可以单机多核运算,问题出在我的自己服务器节点的hostname上,我刚开始只加主服务器的hostname,我把其他节点的hostname加上之后就可以多核运算了。
再次表示感谢!!!!!




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