计算化学公社

 找回密码 Forget password
 注册 Register
Views: 32863|回复 Reply: 28
打印 Print 上一主题 Last thread 下一主题 Next thread

[Gaussian/gview] Gaussian09 D版本的编译

[复制链接 Copy URL]

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
第一次编译高斯源代码,那是无比的兴奋,零基础摸索到凌晨4点才搞定(我一博后师兄玩到3点),过程艰辛,但是结果其实很简单。
如果用官方推荐的商业的波兰Fortran编译器pgf77,一切都是很简单的事情了,但是我们用的是免费版intel编译器,所以有些地方得改改:

# 将所有的删除命令全部注释掉
vi  bldg09
#  rm -f -r *.exe *.o *.a
#  rm -r -f temputil
#  rm mdutil.o
#  rm ${x}*.o
#  rm -f -r temputil

# 修改一下mkl数据库的路径
vi setup-make
else if ("$mach" =="ia64") then
  setfcname = "FCN=ifort"
  setblas = "BLAS='' UTIL_NAME='util.a'"
  setblasp = "$blas"
  setpstr = "-p"
  setfcflag = "FC='-L/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64-WB -i8 -r8 -w -ftz -switch fe_new_cgoto -fp-relaxed -fp-speculation=safe-static-intel -openmp -fpp2 -auto -O3 -fpemu=silent'"
  setfcflagp = "FC='-L/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64-WB -i8 -r8 -w -ftz -switch fe_new_cgoto -fp-relaxed -fp-speculation=safe-static-intel -openmp -fpp2 -auto -O3 -fpemu=silent -p'"
  setfc2flag = "FC2='/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib/intel64/libmkl_ipf.a'"
setenv LINDA_FORTRAN 'ifort-L/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib -WB -i8 -r8 -w -ftz -switchfe_new_cgoto -fp-relaxed -fp-speculation=safe -static-intel -openmp -fpp2 -auto-O3 -fpemu=silent'
setenv LINDA_FORTRAN_LINK 'ifort -L/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib-WB -i8 -r8 -w -ftz -switch fe_new_cgoto -fp-relaxed -fp-speculation=safe-static-intel -openmp -fpp2 -auto -O3 -fpemu=silent'
setenv POSTFL_FORTRAN 'ifort -L/usr/intel/composer_xe_2013_sp1.2.144/mkl/lib-WB -i8 -r8 -w -ftz -switch fe_new_cgoto -fp-relaxed -fp-speculation=safe-static-intel -openmp -fpp2 -auto -O3 -fpemu=silent'
vi set-mflags
   else if ("$hname" == "amd64") then
     if (-e $xname/istanbul.flag) then
       set mty = ""
       set blstr = "k10h64sse3"
       set specflag = "-Mx,39,0x10000000"
       set mflags = "$mflags X86TYPE='-DX86_TYPE=S'"
     else
       set mty = "k8-64"
       set blstr = ""
       setspecflag = ""
       endif
     set blasname = "amd64$blstr"
     set mflags = "$mflags OPTOI= MMODEL='-mcmodel=medium'SPECFLAG=$specflag

vi ia64.make
INTELDIR =/usr/intel/composer_xe_2013_sp1.2.144
MKLLIB =$(INTELDIR)/mkl/lib/intel64
# COMPDIR =$(INTELDIR)/lib/ia64   
# I8 machine
I8FLAG = -i8 -r8
I8CPP = -D_IA64_ -DP64 -DPACK64 -DUSE_I2-DI64 -DLITTLE_END -DNO_SBRK \
-DGCONJG=DCONJG -DGCMPLX=DCmplx -DGREAL=DREAL -DGIMAG=DIMAG \
-DUSE_LL -DMERGE_LOOPS -D_ALIGN_CORE_ -DDO_BKSPEF
GAUDIM = 2500
GAUDIMA = $(GAUDIM)00
GAUDIMR = $(GAUDIM)0
GAUDIMS = $(GAUDIM)
NISEC = -DDEFISEC=32
NJSEC = -DDEFJSEC=128
NKSEC = -DDEFKSEC=512
DIMENSX = $(INCDIR) -DDEFMAXRES=$(GAUDIMR)-DDEFMAXSEC=$(GAUDIMS) $(INCDIRG) $(PARFLAG) $(DEBUGP) -DDEFMAXSHL=$(GAUDIMA)-DDEFMAXATM=$(GAUDIMA) \
-DDEFMAXNZ=$(GAUDIMA) -DDEFNVDIM=257 -DDEFMAXSUB=80 -DDEFNBOMAXBAS=10000\
-DDEFARCREC=1024 -DDEFMAXXCVAR=40 -DDEFMAXIOP=200 -DDEFMAXCOORDINFO=32-DDEFMAXCHR=1024 -DDEFMOMEGA=5 -DDEFNOMEGA=6 -DDEFMAXXCNAME=25 -DDEFLMAX=13-DDEFMINB1P=100000000 \
-DDEFXGN3MIN=64 $(NISEC) $(NJSEC) $(NKSEC) -DDEFN3MIN=10 \
-DDEFMAXHEV=2000 -DDEFCACHE=128$(DEFCACHE) \
-DDEFMAXLECP=10 -DDEFMAXFUNIT=5 -DDEFMAXFFILE=10000 -DDEFMAXFPS=1300-DDEFMAXINFO=200 -DR16_OK \
-DDEFMAXOP=384 -DDEFMAXTIT=100 -DDEFMAXRTE=4000 -DDEFMAXREDTYPE=3-DDEFMAXREDINDEX=4 -DDEFMAXOV=500 -DDEFMXDNXC=8 -DDEFMXTYXC=10 $(CTDEBUG) \
$(BLASFLAG) $(PCMDIM) $(I8CPP) -DEXT_LSEEK
RUNCC = gcc
FFLAG0 = -mkl -openmp-no-prec-div -auto -axAVX -fpp3 -pad -WB $(I8FLAG) -w -ftz -fp-relaxed-static-intel -static-libgcc -fp_speculation=safe $(TESTFLAGS) $(PARSWITCH)$(DEBUGF) $(PROFFLAG) $(FPE)
LIBS =-lmkl_intel_thread -lmkl_core -lmkl_intel_ilp64 -liomp5 -lpthread -lm

vi  bldg09
else if ("$x" =="amd64") then
  @i386 = 1
  (cdbsd ; ln -s ia64.make g09.make)   

# 修改好后,最后开始编译,一切顺利的话估计得一个小时。
export g09root=/home/dongbo/g09d_rev
cd $g09root/g09
bsd/install
bsd/bldg09 all ia64 >& compile.log&

# 喜欢刷屏的可以敲一下下面这一行^_^
tail -f compile.log

评分 Rate

参与人数
Participants 3
eV +11 收起 理由
Reason
ter20 + 5
sobereva + 3
stm8150 + 3

查看全部评分 View all ratings

744

帖子

21

威望

5351

eV
积分
6515

Level 6 (一方通行)

2#
发表于 Post on 2015-1-28 21:10:16 | 只看该作者 Only view this author
Gaussian官方设定的编译器是PGI用于ia32/amd64/em64t,Intel用于ia64。虽然可以通过修改make.g09使Intel用于前者,但是有些计算类型的结果是错的。已知的一个是半经验,能量相差十万八千里,还有一个我忘了。编译以后,最好做一个半经验计算的测试,并和标准结果比较。

g03到g09的各种版本都有这个问题。当然,也可能是我自己改的make.g09参数有问题。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
sobereva + 2

查看全部评分 View all ratings

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2015-1-28 22:40:38 | 只看该作者 Only view this author
用intel编译器编译确实会产生一些意想不到的结果,最后只能用sob老师提供的pgf77搞定的,并且编译简单而且是可以跨平台用的。

6万

帖子

99

威望

6万

eV
积分
125145

管理员

公社社长

4#
发表于 Post on 2015-1-28 23:39:35 | 只看该作者 Only view this author
G09比较好编译,当年编译G03真是费了老劲了。
一定要用PGF。ifort编译高斯需要折腾。

这里顺便把D.01之前的版本编译过程也贴上
Gaussian09 A02、C01 64bit编译方法
http://sobereva.com/81

Fedora7-64bit下编译Gaussian03-C02
http://sobereva.com/2
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

739

帖子

0

威望

1715

eV
积分
2454

Level 5 (御坂)

5#
发表于 Post on 2015-1-29 09:49:58 | 只看该作者 Only view this author
国内买不到代码版本的吧  楼主应该贴出来分享一下

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

6#
 楼主 Author| 发表于 Post on 2015-1-29 12:40:58 | 只看该作者 Only view this author
天朝有两个组有源代码,但是需要使用原代码的人都是需要签协议的。

739

帖子

0

威望

1715

eV
积分
2454

Level 5 (御坂)

7#
发表于 Post on 2015-1-29 20:22:23 | 只看该作者 Only view this author
你放出来 gaussian也不知道谁放的吧?能以个人的名义买代码版本的Gaussian吗?

744

帖子

21

威望

5351

eV
积分
6515

Level 6 (一方通行)

8#
发表于 Post on 2015-1-31 02:55:28 | 只看该作者 Only view this author
lao7 发表于 2015-1-29 20:22
你放出来 gaussian也不知道谁放的吧?能以个人的名义买代码版本的Gaussian吗?

如果Gaussian在打包的时候加入了水印,可以查出来。

以前国外某服务器的Gaussian09.D的源代码忘了去掉全局访问权限,匿名用户都可以下载,不过很快就修改了。目前只有Gaussian09.C的源代码还可以下载。

146

帖子

0

威望

940

eV
积分
1087

Level 4 (黑子)

9#
发表于 Post on 2015-2-1 10:36:38 | 只看该作者 Only view this author
哪有Gaussian09.C的源代码?

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2015-2-1 13:39:21 | 只看该作者 Only view this author
Gaussian09的源代码远比一般的量化程序写得艰涩难懂,尽管它的输出还是不错的。

739

帖子

0

威望

1715

eV
积分
2454

Level 5 (御坂)

11#
发表于 Post on 2015-2-2 16:43:27 | 只看该作者 Only view this author
ORCA_in_TCC 发表于 2015-2-1 13:39
Gaussian09的源代码远比一般的量化程序写得艰涩难懂,尽管它的输出还是不错的。

个人买一套不知道要多少钱?64为linu的

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

12#
 楼主 Author| 发表于 Post on 2015-2-2 16:50:40 | 只看该作者 Only view this author
从美国直接买binary版本貌似是20K,但是从国内买的话据说是40K。

292

帖子

8

威望

1696

eV
积分
2148

Level 5 (御坂)

13#
发表于 Post on 2015-3-6 15:09:00 | 只看该作者 Only view this author
ORCA_in_TCC 发表于 2015-2-2 16:50
从美国直接买binary版本貌似是20K,但是从国内买的话据说是40K。

國內不賣源代碼

144

帖子

0

威望

2291

eV
积分
2435

Level 5 (御坂)

14#
发表于 Post on 2015-3-7 06:17:19 | 只看该作者 Only view this author
没听说过国内买源代码?弱弱问一句:为什么非要源代码?编译链接后速度会更快吗? 对于大多数个人来说,意义不大

52

帖子

0

威望

1665

eV
积分
1717

Level 5 (御坂)

15#
 楼主 Author| 发表于 Post on 2015-3-7 14:35:07 | 只看该作者 Only view this author
买源代码当然是为了用源代码

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-22 08:54 , Processed in 0.171672 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list