intel编译器编译cp2k

编译cp2k记录


所遇到问题


MKL版本问题 
intel paralell composer xe 2011版本编译出错,在链接过程中某些函数缺失
而intel paralell composer xe 2013 MKL中不带 scalapack,直到安装2015版才解决这个问题




组件
cp2k 源码包 版本 2.6.1
svn checkout svn://svn.code.sf.net/p/cp2k/code/trunk cp2k
新版的makefile改动较大,但是仍然可以把旧版的makefile改过来用。



1、Inrel paralell composer xe 2015(composer_xe_2015.1.133) with MKL
source $(HOME)/intel/composerxe/bin/compilervars.sh intel64


2、mpich ( http://www.mpich.org/)
export CC=icc CXX=icpc F77=ifort FC=ifort
tar -xvzf mpich-3.1.4.tar.gz 
./configure --prefix=$(HOME)/mpich --enable-fc --enable-f77 --enable-cxx --enable-fortran
make
make install 
vi ~/.bashrc
PATH=$(HOME)/mpich/bin:$PATH
LD_LIBRARY_PATH=$(HOME)/mpich/lib:$LD_LIBRARY_PATH

3、fftw
tar -xvzf fftw-3.3.4.tar.gz
cd fftw-3.3.4
./configure --prefix=$(HOME)/fftw  --enable-debug --enable-mpi --enable-threads  --enable-openmp
make
make install


3、libint 
export CC=icc CXX=icpc F77=ifort FC=ifort
tar -xvzf libint-1.1.5.tar.gz
cd libint-1.1.5
./configure --prefix=$(HOME)/libint
make
make install


4、libxc
tar -xvzf libxc-2.0.2.tar.gz
cd libxc-2.0.2
./configure --prefix=$(HOME)/libxc
make
make install


vi arch/Linux-x86-64-intel.popt  注意修改$(home)的实际路径
---------
CC       = cc
CPP      =
FC       = mpif90
#FC       = mpifort 
LD       = mpif90
#LD       = mpifort
AR       = ar -r
MKLROOT = $(home)/intel/composerxe/mkl


DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTMKL -D__FFTW3 -D__LIBINT -D__LIBXC2  -D__MKL
CPPFLAGS = -I$(home)/fftw/include -I$(home)/intel/composerxe/mkl/include \
           -I$(home)/libxc/include -I$(home)/libint/include -I$(MKLROOT)/include/fftw
#FCFLAGS  = $(DFLAGS) -I$(INTEL_INC) $(CPPFLAGS) -O3 -xW -heap-arrays 64 -funroll-loops -fpp -free
FCFLAGS  = $(DFLAGS)  $(CPPFLAGS) -O2 -heap-arrays 64 -funroll-loops -fpp -free
#FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) $(CPPFLAGS) -O1 -heap-arrays 64 -fpp -free
#LDFLAGS  = $(FCFLAGS) -i-static
LDFLAGS  = $(FCFLAGS)
LIBS = -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential  -lm -lstdc++ \
       -L$(home)/libxc/lib -lxc \
       -L$(home)/libint/lib -lderiv -lr12 -lint
  
#LIBS     = $(INTEL_LIB)/libscalapack.a \
#           $(INTEL_LIB)/libblacs_init.a \
#           $(INTEL_LIB)/libblacs.a \
#           $(INTEL_LIB)/libacml.a\
#           $(INTEL_LIB)/libacml_mv.a \
#           $(INTEL_LIB)/libfftw3.a


OBJECTS_ARCHITECTURE = machine_intel.o




graphcon.o: graphcon.F
        $(FC) -c $(FCFLAGS) $<
-----------


cd cp2k/makefiles


make -j 8 ARCH=Linux-x86-64-intel VERSION=popt clean
make -j 8 ARCH=Linux-x86-64-intel VERSION=popt distclean
make -j 8 ARCH=Linux-x86-64-intel VERSION=popt
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值