24小时热门版块排行榜    

查看: 4372  |  回复: 12
【奖励】 本帖被评价5次,作者精神的飞行者增加金币 3.8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

精神的飞行者

新虫 (小有名气)


[资源] GAMESS version May 1 linux64 Gfortran+MKL编译详细过程

GAMESS官方网站http://www.msg.ameslab.gov/gamess/注册邮箱以后下载版本为GAMESS version May 1, 2012 R2 for 64 bit IA64x86_64 under Linux with Intel compilers的程序包。(经过试验,版本为GAMESS version May 1, 2012 R2 for 64 bit (x86_64 compatible) under Linux with gnu compilers的程序包也可以在配置相同的机器上进行安装,测试结果完全相同)我们的操作系统环境为Red Hat 5.4,Intel Fortran的版本为ifort 13.0.0,其中带有mkl数学库,利用数学库可以使运算速度得到提升,GAMESS的安装涉及到Fortran编译器和数学库的信息。
注意,GAMESS的脚本均使用csh的shell,没有csh则需要安装。

安装过程:(主要参照程序目录/machines中的readme.unix说明)

1、        解压:
zcat  gamess-current.tar.gz  |  tar  -xvf  -
产生gamess目录,子目录中包括
source      源代码,FORTRAN语言,少部分为C语言
ddi         Distributed Data Interface (DDI) 并行计算,C语言
object      初始为空,存放编译过程中产生的 .o文件
tests        测试文件
machines    /unix目录下存放脚本文件的备份
tools       工具程序
graphics     画图程序
misc        备注信息

2、        config:
确认系统信息(64-bit Linux)、machine target(sockets或mpi,一般均设置为sockets)、FORTRAN编译器、数学库
./config
按照提示回答问题
please enter your target machine name:
输入linux64(uname –a命令可以用来查看系统信息)
GAMESS directory?
回车使用默认目录
GAMESS build directory?
回车使用默认目录
Version?
回车使用默认的版本号00(也可以修改为其他数值,这一次我统一设置为默认值)
Please enter your choice of FORTRAN:
输入gfortran
Please enter only the first decimal place, such as 4.1 or 4.6:
输入4.1(gfortran版本号,可以使用gfortran –v命令查看)(输入后,提示Alas, your version of gfortran does not support REAL*16,  so relativistic integrals cannot use quadruple precision. Other than this, everything will work properly. gfortran版本影响相对论计算积分的精确度)
   Enter your choice of 'mkl' or 'atlas' or 'acml' or 'none':
输入mkl(设置数学库)
   MKL pathname?
输入/opt/intel/mkl或者/opt/intel/composerxe/mkl(数学库安装路径)
   MKL version (or 'skip')?
输入skip
   回车可以在/tools目录下生成激活程序actvte.x
   communication library ('sockets' or 'mpi')?
输入sockets
   Do you want to try LIBCCHEM?  (yes/no):
输入no
   
   config完成后信息会被收集在install.info文件里

3、        compddi
/gamess/ddi目录下编辑DDI并行计算
cd  /gamess/ddi
./compddi  >&  compddi.log  &
mv  ddikick.x  ..
libddi.a文件必须保存在/gamess/ddi目录下,而ddikick.x必须保存在/gamess目录下

4、        compall
cd  ..
./compall  >&  compall.log  &

编译/source目录里所有的源代码,编译后的 .o 文件存放在/object目录里。vi compall.log查看出错情况。注意在我们的机器上,在config步骤里设置使用gfortran进行编译则不会出错,但是如果设置使用ifort(我们的版本是ifort 13.0.0),在编译trnstn.o文件时出错:“: catastrophic error: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
compilation aborted for trnstn.f (code 1)”,其他文件的编译都是正常的,用时约15分钟。这个错误在于ifort编译器,编译GAMESS时最好使用12.0.0之前版本的ifort。

5、lked
./lked  games  00  >&  lked.log  &
产生gamess.00.x,其中数字00为自己设定的版本号。接下来,在configure  'rungms' 成功之后即可做并行计算。

6、编辑rungms
在/gamess目录下设置目录/scr/zcy(其中,scr为程序推荐使用的名称,zcy为用户自己设定)。
mkdir  scr
cd  scr
mkdir  zcy
vi  rungms
对第63、64、65行进行编辑,分别设定SCR目录,用于存放较大的临时文件;设定USERSCR目录,用于存放较小的supplementary output文件;设定GAMESS的安装路径。另外第69行可以设定计算使用的CPU数量。
set SCR=/scr/$USER改为
set SCR=/home/zhaochuanyu/gamess/scr/zcy
set USERSCR=~$USER/scr改为
set USERSCR=/home/zhaochuanyu/gamess/scr
set GMSPATH=/u1/mike/games改为
set GMSPATH=/home/zhaochuanyu/gamess
保存修改

7、运行runall,测试安装是否正确
   ./runall  00  >&  runall.log  &
这是GAMESS内置的测试程序,使用/tests/standard目录下的47个输入文件进行计算。在输出结果*.log文件所在的目录下(照这里的安装方法即/gamess目录),运行:
./tests/standard/checktst
即可利用GAMESS内置的检验程序对计算结果进行检查,结果显示“All jobs terminated normally, now checking detailed numerical results”“All 47 test results are correct!”,表明安装过程无误,计算结果正确。

8、并行计算的设置
   vi  rungms
   在306行左右“if ($NCPUS > 6) set NCPUS=6”之上的位置上加一行“case  localhost.localdomain:”,其中“localhost.localdomain:”是运行命令hostname之后得到的结果。
   这部分设置要求读懂rungms脚本的意思,在涉及并行计算的部分将本机的信息加上去。在做并行计算的时候可以在命令行中加入所需进程的数目,也可以在rungms脚本中的“set NCPUS=”处修改进程数。在我们的机器中,目前所能使用的最大进程数为6,受脚本的控制,修改脚本应该可以继续增大并行进程数。另外,经过测试,使用./tests/standard/ 目录下的例子进行并行计算,5、23、25、27、32、39、42、45、46、47不能正常进行,这一点在GAMESS文档3_Test Examples中有说明,部分计算是不能做并行的。



参考信息:
http://muchong.com/bbs/viewthread.php?tid=4597596&fpage=1
http://hi.baidu.com/sobereva/item/f32f0fe84b51220f570f1dc3
http://hi.baidu.com/sobereva/item/f724e964a789ac2768105bd7
http://wiki.klniu.com/zh/GAMESS(US)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hee_csu

金虫 (著名写手)


在服务器上解决了这个问题,采用了http://forums.gentoo.org/viewtopic-p-7199174.html上alphamaennchen的方法:
put
127.0.0.1 HOSTNAME
with HOSTNAME name of the pc
to /etc/hosts
即,在/etc/hosts文件的第一行中 127.0.0.1 后面加上服务器主机名。

注:查看服务器主机名的命令为:hostname。

但在个人机上没解决。
8楼2013-07-26 17:31:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

叶芸莱

木虫 (初入文坛)


★★★★★ 五星级,优秀推荐

感谢楼主,安装一次未成功,能否私下发点gamess的输入文件生成和gamess命令的介绍?
2楼2013-05-20 11:17:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

精神的飞行者

新虫 (小有名气)


引用回帖:
2楼: Originally posted by 叶芸莱 at 2013-05-20 11:17:28
感谢楼主,安装一次未成功,能否私下发点gamess的输入文件生成和gamess命令的介绍?

不用谢,我也是新手,发这篇完全是为了带着感激的心情弥补一下我之前在网上找到的一些安装说明的小漏洞。gamess我还没有开始系统的学习,你想要的这些我建议下载官网提供的documentation,另外一些比较小的问题可以到gamess的google group去提问,那里的氛围很好的。Good luck!
3楼2013-05-20 22:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hee_csu

金虫 (著名写手)


★★★★★ 五星级,优秀推荐

技术帖,顶上去
4楼2013-07-25 14:54:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见