国产三级精品三级在线观看,国产高清无码在线观看,中文字幕日本人妻久久久免费,亚洲精品午夜无码电影网

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

CP2K的安裝

1.1?直接使用二進制版本

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

用戶可以選擇從發(fā)行版所帶的軟件源安裝預(yù)編譯版本的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官方網(wǎng)站下載預(yù)編譯可執(zhí)行文件

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

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

?

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

1.2?從源代碼編譯

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

www.cp2k.org/howto:compile

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

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包可以獲得數(shù)學(xué)庫的靜態(tài)鏈接庫,方便進行靜態(tài)編譯。

系統(tǒng)安裝了4.9.1?版本的GNU編譯器,包括gcc以及gfortran,openmpi版本為1.6.5。

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

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

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

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

然后,編譯安裝MPI運行環(huán)境。如果你安裝的Intel編譯環(huán)境已經(jīng)包含了impi,可以跳過該步驟。我安裝的MPI環(huán)境是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權(quán)限。

從?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) $<

注意,如果編譯使用intelmpi,blacs庫就設(shè)置為-lmkl_blacs_intelmpi_lp64;如果使用openmpi,則設(shè)置為-lmkl_blacs_openmpi_lp64。makefiles目錄中運行

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

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

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

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

使用gfortran編譯器,并使用MKL數(shù)學(xué)庫和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可執(zhí)行文件。

經(jīng)過測試,使用gfortranintel編譯器編譯的CP2K可執(zhí)行文件運行速度相當(dāng),后者稍微快一點點。這主要是因為它們均使用了經(jīng)過優(yōu)化的MKL數(shù)學(xué)庫。本文轉(zhuǎn)載自zevan,轉(zhuǎn)載目的在于知識分享,本文觀點不代表V-suan云平臺立場。

?

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

?

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

原創(chuàng)文章,作者:菜菜歐尼醬,如若轉(zhuǎn)載,請注明來源華算科技,注明出處:http://www.xiubac.cn/index.php/2023/12/01/4065766bfd/

(0)

相關(guān)推薦

梁河县| 休宁县| 巨野县| 托克托县| 乌鲁木齐县| 宁晋县| 绥芬河市| 凌海市| 昌都县| 宜兴市| 正宁县| 迁安市| 青阳县| 梁平县| 敦煌市| 石河子市| 溧阳市| 鄂伦春自治旗| 长岛县| 托克托县| 江川县| 莱州市| 高碑店市| 厦门市| 延寿县| 阳江市| 深水埗区| 五指山市| 宁晋县| 侯马市| 连州市| 喀喇| 东丽区| 新余市| 河南省| 武强县| 武乡县| 澄迈县| 鹤岗市| 六枝特区| 长顺县|