|||
GAMESS2013编译使用简记
2014–02–23 21:14:14 初稿
2014–03–08 12:09:09 修订
编译
解压 tar -xzvf gamess-current.tar.gz
环境配置 ./config
目标平台: 利用uname -a可知, 一般为linux64
源码路径: 当前路径
安装路径: 当前路径, 也可使用其他, 如./bin
版本号: 用作不同版本标识, 默认00
FORTRAN编译器: 根据系统选择. 若使用ifort, 须选择版本
数学库: 若使用ifort, 则选MKL, 并指定路径如/share/apps/intel/composer_xe_2013.2.146/composer_xe_2013.2.146/mkl.
若该路径下不存在多个版本MKL, 下一步直接skip
激活代码编译: 编译actvte.f, 成功, 此程序用于后面编译前源代码的处理
ifort -o /home/jicun/GMS/tools/actvte.x actvte.f
网络设置: 并行, 选择mpi
mpi库: 若使用ifort, 可用impi, 并设定路径如/share/apps/intel/impi/4.1.0.030
使用LIBCCHEM加速MP2和CCSD(T)与否, 须GPU支持. 一般不使用
配置成功, 会在安装路径内产生install.info和Makefile两个文件, 并提示参看./machines/readme.unix
实际上, config脚本只适合用于第一次配置环境, 得到install.info和Makefile后, 若想更改设置再次编译, 直接编辑已有的install.info和Makefile即可. 下面是两个文件的内容
install.info(GMS_MKL_VERNO为12不影响链接时使用MKL 13.0)
若使用sockets, 最后几行改为
#!/bin/csh
# compilation configuration for GAMESS
# generated on compute1131
# generated at Sat Mar 8 12:22:27 CST 2014
setenv GMS_PATH /home/jicun/GMS
setenv GMS_BUILD_DIR /home/jicun/GMS
# machine type
setenv GMS_TARGET linux64
# FORTRAN compiler setup
setenv GMS_FORTRAN ifort
setenv GMS_IFORT_VERNO 13
# mathematical library setup
setenv GMS_MATHLIB mkl
setenv GMS_MATHLIB_PATH /share/apps/intel/composer_xe_2013.2.146/composer_xe_2013.2.146/mkl/lib/intel64
setenv GMS_MKL_VERNO 12
# parallel message passing model setup
setenv GMS_DDI_COMM mpi
setenv GMS_MPI_LIB impi
setenv GMS_MPI_PATH /share/apps/intel/impi/4.1.0.030
# LIBCCHEM CPU/GPU code interface
setenv GMS_LIBCCHEM false
# parallel message passing model setup
setenv GMS_DDI_COMM sockets
Makefile
GMS_PATH = /home/jicun/GMS
GMS_VERSION = 00
GMS_BUILD_PATH = /home/jicun/GMS
include $(GMS_PATH)/Makefile.in
编译 ./compall >& compall.log. 请耐心.
ifort的编译选项, 可在comp文件1870行修改,
可增加-xHost -axAVX -opt_report -static
优化默认为-O2, 也可使用-O3 -fast, 但须测试
编译ddi库: cd ddi; ./compddi
链接 ./lked GAMESS 00 >& lked.log
静态链接, 可在1393行增加-static-intel
使用-static可能会选项-lrt冲突, 从而导致链接失败
使用
rungms File.inp #version Ncpu PPN
脚本中需要修改的地方
62–65: 设定mpi和路径
95: 若使用的PBS系统不能自动创建以作业号为名的文件夹, 须修改为
set SCR=$SCR/$PBS_JOBID
mkdir -p $SCR
828: 设定mpiexec路径
843: 此行以后, 清除运行过程中产生的中间文件, 可惜同时也会把输出文件清除, 可添加exit语句, 保留所有中间文件, 自行处理.
实际上, rungms脚本为照顾不同系统使用, 添加了很多与系统相关的代码, 若只在特定系统下运行, 可将其他系统相关的代码删除.
IMPI并行时可能的问题
计算完成后, 最终输出显示
gamess.00.x: dapl/common/dapl_evd_util.c:1187: dapli_evd_cqe_to_event:
Assertion !“Invalid Operation type”’ failed.
同时dump一个很大的core.xxx. 原因未明. 可能与IMPI库有关. 可利用ulimit -c 0关闭吐核.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-21 01:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社