編譯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
intel編譯器編譯cp2k
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
libusb 和 usbutils 的交叉編譯
零K沁雪
2020-07-05 06:00:21
windows下cygwin 安裝matplotlib
lebusini
2020-06-19 14:27:30
Visual Studio Code : C/C++開發者實用指南
_saga
2020-06-02 02:34:06
Windows下用 Code blocks + mingw 搭建 Fortran 編譯環境
潜在的码农
2020-06-01 13:28:17
windows下編譯Opendtect 5.x
_saga
2020-02-22 23:35:39
ubuntu 18.04 編譯vasp 5.4
潜在的码农
2018-11-21 08:52:16
Windows下定製編譯QtWebEngine
_saga
2018-09-03 19:24:44
ffmepg以及x264的編譯
_saga
2018-09-03 19:24:44
Code blocks 編譯Fortran
潜在的码农
2018-08-31 19:03:50
lammps CUDA 編譯
潜在的码农
2018-08-31 19:03:50
ubuntu16.04 qgis3.1.0編譯
lebusini
2018-08-28 05:12:17
最新文章