末成年小嫩xb,嫰bbb槡bbbb槡bbbb,免费无人区码卡密,成全高清mv电影免费观看

CP2K入門教程-1:CP2K的安裝

CP2K的安裝

1.1?直接使用二進制版本

CP2K的安裝有很多種方法。最簡單的方法是直接使用預編譯版本的二進制可執行文件。

用戶可以選擇從發行版所帶的軟件源安裝預編譯版本的CP2K

Debian?http://packages.debian.org/search?keywords=cp2k

Fedora?https://apps.fedoraproject.org/packages/cp2k

Ubuntu?http://packages.ubuntu.com/search?keywords=cp2k

或者直接從CP2K官方網站下載預編譯可執行文件

sourceforge.net/projects/cp2k/files/precompiled/

預編譯版本的CP2K運行比較可靠,缺點是由于其采用了沒有優化過的blas庫和lapack庫,計算速度比較慢。

?

或者從CP2K源碼(http://www.cp2k.org/download)進行編譯,獲得可執行文件。好處是可以使用MKL等速度更快的數學庫,計算速度比預編譯版本快很多。測試表明,使用Intel編譯器以及MKL數學庫編譯的CP2K執行速度是預編譯版本的3倍左右。

1.2?從源代碼編譯

從源碼進行編譯得到的CP2K可執行文件有更快的運行速度。CP2K的編譯比較復雜。希望進行CP2K編譯的話,可以參考

www.cp2k.org/howto:compile

下面,介紹使用Intel編譯器以及GNU編譯器編譯CP2K的步驟。下面的編譯均在Debian testing系統上完成。CPU型號為Intel(R) Core(TM) i5-4210M,內核版本為3.17-1-amd64。為了減少編譯的工作量,可以從Debian軟件源里安裝各種數學庫,如libintelpafftw3openblas, libxc等。以root權限運行:

apt-get install libxc1 libxc-dev libint-dev libint1 libelpa-dev libelpa0 libopenblas-base libopenblas-dev libfftw3-3 libfftw3-bin libfftw3-dev libfftw3-mpi3 openmpi-bin gcc gfortran g++

安裝-dev包可以獲得數學庫的靜態鏈接庫,方便進行靜態編譯。

系統安裝了4.9.1?版本的GNU編譯器,包括gcc以及gfortranopenmpi版本為1.6.5

  1. 使用Intel Fortran編譯器以及MKL編譯CP2K

首先,安裝Intel Fortran編譯器以及MKL。我安裝的Intel Fortran編譯環境是composerxe-2011.3.174。其中包含了Fortran編譯器ifort以及MKL,沒有Intel MPIifort版本是12.0.3 20110309Intel編譯器安裝到了/opt/intel目錄中。

要使用Intel編譯器,打開終端,運行

source /opt/intel/bin/compilervars.sh intel64

然后,編譯安裝MPI運行環境。如果你安裝的Intel編譯環境已經包含了impi,可以跳過該步驟。我安裝的MPI環境是openmpi 1.6.5,目前最新版本是1.8.3?。從http://www.open-mpi.org?上下載源碼,解壓縮后運行:

./configure –prefix=/opt/openmpi-1.6.5 F77=ifort FC=ifort

make

make install

注意,make install時需要root權限。

從?http://sourceforge.net/projects/cp2k/files

下載CP2K 2.5.1的源碼,解壓縮,修改arch目錄中的Linux-x86-64-intel.popt文件如下 :

CC = cc

CPP =

FC = /opt/openmpi-1.6.5/bin/mpif90

LD = /opt/openmpi-1.6.5/bin/mpif90

AR = ar -r

INTEL_MKL = /opt/intel/mkl

INTEL_INC = $(INTEL_MKL)/include

INTEL_LIB = $(INTEL_MKL)/lib/intel64

MKL_LIB = $(INTEL_MKL)/lib/intel64

FFTW3_INC = /usr/include/

FFTW3_LIB = /usr/lib/x86_64-linux-gnu/

DFLAGS = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK -D__FFTW3 -D__LIBINT

CPPFLAGS = -C -traditional $(DFLAGS) -I$(INTEL_INC) -I$(FFTW3_INC)

FCFLAGS = $(DFLAGS) -I$(INTEL_INC) -I$(FFTW3_INC) -O2 -xHost -heap-arrays 64 -funroll-loops -fpp -free

FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -I$(FFTW3_INC) -O1 -xHost -heap-arrays 64 -fpp -free

LDFLAGS = $(FCFLAGS) -I$(INTEL_LIB) -L$(FFTW3_LIB)

LIBS = -L$(MKL_LIB) -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core?-lmkl_blacs_openmpi_lp64?-lfftw3 -lpthread -lderiv -lint -lstdc++

OBJECTS_ARCHITECTURE = machine_intel.o

graphcon.o: graphcon.F

$(FC) -c $(FCFLAGS2) $<

et_coupling.o: et_coupling.F

$(FC) -c $(FCFLAGS2) $<

qs_vxc_atom.o: qs_vxc_atom.F

$(FC) -c $(FCFLAGS2) $<

hfx_screening_methods.o: hfx_screening_methods.F

$(FC) -c $(FCFLAGS2) $<

注意,如果編譯使用intelmpiblacs庫就設置為-lmkl_blacs_intelmpi_lp64;如果使用openmpi,則設置為-lmkl_blacs_openmpi_lp64makefiles目錄中運行

make –j 4 ARCH=Linux-x86-64-intel VERSION=popt

-j 4參數可以使編譯并行進行,以加快編譯速度。

CPU性能,一般15分鐘左右即可在exe/Linux-x86-64-intel目錄下獲得編譯好的cp2k.popt可執行文件。

? ? ?2. 使用GNU Fortran編譯器,MKL以及ELPA庫編譯CP2K

使用gfortran編譯器,并使用MKL數學庫和ELPA庫編譯CP2K,流程與上述類似。編輯arch目錄中的Linux-x86-64-gfortran_mkl_elpa.popt文件如下:

INTEL_MKL = /opt/intel/mkl

INTEL_INC = $(INTEL_MKL)/include

INTEL_MKL_LIB = $(INTEL_MKL)/lib/intel64

FFTW3_INC = /usr/include/

FFTW3_LIB = /usr/lib/x86_64-linux-gnu/

ELPA_INC = /usr/include/elpa/modules

CC = cc

CPP =

FC = /usr/bin/mpif90

LD = /usr/bin/mpif90

AR = ar -r

CPPFLAGS =

DFLAGS = -D__GFORTRAN -D__FFTSG -D__parallel -D__SCALAPACK -D__BLACS -D__LIBINT -D__LIBXC2 -D__FFTW3 -D__ELPA

FCFLAGS = -O3 -ffast-math -funroll-loops -ftree-vectorize -march=native -ffree-form $(DFLAGS) -g -I$(FFTW3_INC) -I$(ELPA_INC) -I$(INTEL_INC)

LDFLAGS = $(FCFLAGS) -L${FFTW3_LIB} -L${INTEL_MKL_LIB}

LIBS =

-lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core

-lderiv -lint -lfftw3 -lxc -lelpa

makefiles目錄中運行

make -j 4 ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt

exe/Linux-x86-64-gfortran_mkl_elpa?目錄中即可獲得編譯好的cp2k.popt可執行文件。

經過測試,使用gfortranintel編譯器編譯的CP2K可執行文件運行速度相當,后者稍微快一點點。這主要是因為它們均使用了經過優化的MKL數學庫。本文轉載自zevan,轉載目的在于知識分享,本文觀點不代表V-suan云平臺立場。

?

我們邀請了從頭算分子動力學領域世界頂尖學者Hutter教授團隊蘭晶崗博士進行“計算化學模擬,讓你的實驗更“有數”!”的培訓,本培訓基于知名免費開源計算軟件CP2K,此軟件由Hutter團隊開發并運維,功能與VASP比肩。

?

本課程重點側重應用,弱化過于抽象的公式和理論。通過簡單介紹理論并且結合計算輸入文件,幫助學員快速上手使用CP2K軟件來完成自己計算要求。

原創文章,作者:菜菜歐尼醬,如若轉載,請注明來源華算科技,注明出處:http://www.zzhhcy.com/index.php/2023/12/01/4065766bfd/

(0)

相關推薦

主站蜘蛛池模板: 江西省| 苏州市| 密山市| 阳山县| 乌审旗| 甘南县| 安吉县| 德昌县| 石阡县| 慈溪市| 二连浩特市| 七台河市| 肥乡县| 金坛市| 滁州市| 舞钢市| 德兴市| 泗水县| 安达市| 白沙| 青冈县| 新密市| 高碑店市| 常德市| 盱眙县| 塔河县| 柯坪县| 盈江县| 库尔勒市| 隆尧县| 石屏县| 东山县| 海安县| 开远市| 常州市| 乾安县| 丰顺县| 三门县| 昌邑市| 陕西省| 斗六市|