Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

GAMESS编译使用简记

已有 8449 次阅读 2014-2-28 11:32 |个人分类:我的工具箱|系统分类:科研笔记| GAMESS, 编译使用

GAMESS2013编译使用简记
2014–02–23 21:14:14 初稿
2014–03–08 12:09:09 修订

编译

  1. 解压 tar -xzvf gamess-current.tar.gz

  2. 环境配置 ./config

    1. 目标平台: 利用uname -a可知, 一般为linux64

    2. 源码路径: 当前路径

    3. 安装路径: 当前路径, 也可使用其他, 如./bin

    4. 版本号: 用作不同版本标识, 默认00

    5. FORTRAN编译器: 根据系统选择. 若使用ifort, 须选择版本

    6. 数学库: 若使用ifort, 则选MKL, 并指定路径如/share/apps/intel/composer_xe_2013.2.146/composer_xe_2013.2.146/mkl.
      若该路径下不存在多个版本MKL, 下一步直接skip

    7. 激活代码编译: 编译actvte.f, 成功, 此程序用于后面编译前源代码的处理
      ifort -o /home/jicun/GMS/tools/actvte.x actvte.f

    8. 网络设置: 并行, 选择mpi

    9. mpi库: 若使用ifort, 可用impi, 并设定路径如/share/apps/intel/impi/4.1.0.030

    10. 使用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)

    1. #!/bin/csh

    2. #   compilation configuration for GAMESS

    3. #   generated on compute1131

    4. #   generated at Sat Mar  8 12:22:27 CST 2014

    5. setenv GMS_PATH            /home/jicun/GMS

    6. setenv GMS_BUILD_DIR       /home/jicun/GMS

    7. #         machine type

    8. setenv GMS_TARGET          linux64

    9. #         FORTRAN compiler setup

    10. setenv GMS_FORTRAN         ifort

    11. setenv GMS_IFORT_VERNO     13

    12. #         mathematical library setup

    13. setenv GMS_MATHLIB         mkl

    14. setenv GMS_MATHLIB_PATH    /share/apps/intel/composer_xe_2013.2.146/composer_xe_2013.2.146/mkl/lib/intel64

    15. setenv GMS_MKL_VERNO       12

    16. #         parallel message passing model setup

    17. setenv GMS_DDI_COMM        mpi

    18. setenv GMS_MPI_LIB         impi

    19. setenv GMS_MPI_PATH        /share/apps/intel/impi/4.1.0.030

    20. #         LIBCCHEM CPU/GPU code interface

    21. setenv GMS_LIBCCHEM        false

    若使用sockets, 最后几行改为
    1. #         parallel message passing model setup

    2. setenv GMS_DDI_COMM        sockets


    Makefile

    1. GMS_PATH = /home/jicun/GMS

    2. GMS_VERSION = 00

    3. GMS_BUILD_PATH = /home/jicun/GMS

    4. include $(GMS_PATH)/Makefile.in


  3. 编译 ./compall >& compall.log. 请耐心.
    ifort的编译选项, 可在comp文件1870行修改,
    可增加-xHost -axAVX -opt_report -static
    优化默认为-O2, 也可使用-O3 -fast, 但须测试

  4. 编译ddi库: cd ddi; ./compddi

  5. 链接 ./lked GAMESS 00 >& lked.log
    静态链接, 可在1393行增加-static-intel
    使用-static可能会选项-lrt冲突, 从而导致链接失败

使用

rungms File.inp #version Ncpu PPN

脚本中需要修改的地方

  • 62–65: 设定mpi和路径

  • 95: 若使用的PBS系统不能自动创建以作业号为名的文件夹, 须修改为

    1. set SCR=$SCR/$PBS_JOBID

    2. mkdir -p $SCR

  • 828: 设定mpiexec路径

  • 843: 此行以后, 清除运行过程中产生的中间文件, 可惜同时也会把输出文件清除, 可添加exit语句, 保留所有中间文件, 自行处理.

实际上, rungms脚本为照顾不同系统使用, 添加了很多与系统相关的代码, 若只在特定系统下运行, 可将其他系统相关的代码删除.

IMPI并行时可能的问题



https://blog.sciencenet.cn/blog-548663-771740.html

上一篇:图片与文本共舞: gnuplot的svg终端
下一篇:样条函数插值拟合
收藏 IP: 130.184.197.*| 热度|

1 张鹏举

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-21 01:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部