计算化学公社
标题:
Gaussian 16 b01 Intel MKL 编译注意
[打印本页]
作者Author:
musen
时间:
2019-8-9 10:33
标题:
Gaussian 16 b01 Intel MKL 编译注意
本帖最后由 musen 于 2019-8-9 10:35 编辑
G16的源码使用pgi编译其实很简单,这里仅为想要折腾的大家分享下经验
基本环境
Centos 7.2
Intel psx 2019 up4 | icc/ifort + MKL
修改makefile:
需要注释的部分(请自行寻找):
#CSIZE = 524288 #请根据cpu类型设置
#CSIZEW = 64 #请根据cpu类型设置
#FPARFLAG = -mp=nonuma
#TIME = -Mreentrant -Mrecursive -Mnosave -Minfo -Mneginfo -time
#NOMCOPY = -Hx,8,0x8000000
#VECTOR4 = ,prefetch,sse -fastsse -Mscalarsse
#VECTOR = -Mvect=assoc,recog,noaltcode,cachesize:$(CSIZE)$(VECTOR4)
#MACHTY = p7-32
#MACH = -tp $(MACHTY) $(TIME)
#OPTOI = -m32 -march=i486 -malign-double
#GCCOPTS = -ffast-math -funroll-loops -fexpensive-optimizations
#PGISTATIC = -Bstatic_pgi
#PGNAME = pgf77
#SYSLIBS = -lpthread -lm -lc $(GPULIB2)
此外 127行的-fast 要去掉;runf77加入-fPIC
添加:
-DDEFCACHE=88 #
Gold 6142
计算方法: (Vcache3*1024)/(Ncore*16)
RUNCC = icc -openmp -axCORE-AVX512 -mkl -fPIC
OPTFLAGO = -O2 -unroll
I8FLAG = -i8
R8FLAG = -r8
MMODEL = -mcmodel=medium
PGNAME = ifort -openmp
SPECFLAG = -auto -axCORE-AVX512 -shared-intel -static-libgcc -no-prec-div -ftz -pad -fpp -NUMALIB = -L${MKLROOT}/lib/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lm -ldl-mkl
UNROLL = -unroll
PC64 = -pc64
注意:
若遇到utils.so无法编译成功的问题,请将66-71行注释,重新在numba中填入blas和lapack信息。
修改mdutil.c:
在#include <unistd.h>之前添加
#define NEED_PUTENV /* need for Intel Compiler */
修改l702.F:
C 掉 EQUIVALENCE (FXI,HES(1))
修改newzmat.F:
删掉红色背景部分
Equivalence (NZ,NZNVar(1)),
(NVarZM,NZNVar(2)),
(ToAng,PhyCon(1))
=================================================
暂时未考虑gpu编译
=================================================
在编译过程中参考了g16a的intel编译方法【
光辉的六翼
】| 后面留言的就是我
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3