Wien2K安装手册及benchmark v1.docx

上传人:b****5 文档编号:30668893 上传时间:2023-08-19 格式:DOCX 页数:15 大小:19.90KB
下载 相关 举报
Wien2K安装手册及benchmark v1.docx_第1页
第1页 / 共15页
Wien2K安装手册及benchmark v1.docx_第2页
第2页 / 共15页
Wien2K安装手册及benchmark v1.docx_第3页
第3页 / 共15页
Wien2K安装手册及benchmark v1.docx_第4页
第4页 / 共15页
Wien2K安装手册及benchmark v1.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Wien2K安装手册及benchmark v1.docx

《Wien2K安装手册及benchmark v1.docx》由会员分享,可在线阅读,更多相关《Wien2K安装手册及benchmark v1.docx(15页珍藏版)》请在冰豆网上搜索。

Wien2K安装手册及benchmark v1.docx

Wien2K安装手册及benchmarkv1

Wien2K安装手册及benchmarkv1.0

一、背景介绍

简介:

用密度泛函理论计算固体的电子结构。

它基于键结构计算最准确的方案——完全势能(线性)增广平面波((L)APW)+局域轨道(lo)方法。

在密度泛函中可以使用局域(自旋)密度近似(LDA)或广义梯度近似(GGA)。

WIEN2000使用全电子方案,包含相对论影响。

功能:

计算固体特性。

键能和态密度,电子密度和自旋密度,X射线结构因子,Baders的“分子中的原子”概念,总能量,力,平衡结构,结构优化,分子动力学,电场梯度,异构体位移,超精细场,自旋极化(铁磁性和反铁磁性结构),自旋-轨道耦合,X射线发射和吸收谱,电子能量损失谱计算固体的光学特性费米表面LDA,GGA,meta-GGA,LDA+U,轨道极化中心对称和非中心对称晶格,内置230个空间群图形用户界面和用户指南友好的用户环境W2web(WIENtoWEB)可以很容易的产生和修改输入文件。

它还能帮助用户执行各种任务(如电子密度,态密度,等)。

平台:

unix/linux

二、软件的安装设置

1、硬件环境

Shanghai/Suse10u2

2、软件版本

Ver:

wien2k09

3、安装Intel编译器

ifort/icc

Ver:

11.083

4、安装Intel的MKL

Ver:

10.1.2.024

5、安装mpichv1.2.7

./configure-c++=icpc-cc=icc-f77=ifort-f90=ifort--prefix=/home/soft/mpi/mpich-1.2.7-intel

make

makeinstall

6、设置环境变量

vi~/.bashrc

添加如下:

##############MPICH###########

exportPATH=/home/soft/mpi/mpich-1.2.7-intel/bin:

$PATH

################intelcompiler###################

./home/soft/intel/Compiler/11.0/083/bin/intel64/ifortvars_intel64.sh

./home/soft/intel/Compiler/11.0/083/bin/intel64/iccvars_intel64.sh

###############intelmkl###################

exportLD_LIBRARY_PATH=/home/soft/intel/mkl/10.1.2.024/lib/em64t/:

$LD_LIBRARY_PATH

7、安装fftw库

tarzxffftw-2.1.5.tar.gz

cdfftw-2.1.5/

exportF77=ifort

exportCC=icc

./configure--prefix=/home/soft/mathlib/fftwv215-mpich--enable-mpi

make

makeinstall

8、创建编译目录

进入安装用户目录

su-mjhe

mkdir~/WIEN2k_09

cpWIEN_2k.tar~/WIEN2k_09

9、将压缩包解开

cd~/WIEN2k_09

tarxfWIEN2k_09.tar

./expand_lapw

10、编译

./siteconfig_lapw

其中几个编译参数需要修改:

(可以参考如下)

specifyasystem

KLinux(Intelifort10.1compiler+mkl10.0)

specifycompiler

Currentselection:

ifort

Currentselection:

icc

specifycompileroptions,BLASandLAPACK

Currentsettings:

OCompileroptions:

-FR-mp1-w-prec_div-pc80-pad-align-DINTEL_VML-traceback

LLinkerFlags:

$(FOPT)-L/home/soft/intel/mkl/10.1.2.024/lib/em64t/-pthread-i-static

PPreprocessorflags'-DParallel'

mkl的库用静态的:

RR_LIB(LAPACK+BLAS):

/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_lapack.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libguide.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_core.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_em64t.a

configureParallelexecution

SharedMemoryArchitecture?

(y/n):

n

Remoteshell(defaultisssh)=ssh

DoyouhaveMPIandScalapackinstalledandintendtorun

finegrainedparallel?

(ThisisusefullonlyforBIGcases)!

(y/n)n

Currentselection:

mpiifort

Currentsettings:

采用静态库

RPRP_LIB(SCALAPACK+PBLAS):

-lmkl_intel_lp64/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_scalapack_lp64.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_sequential.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_blacs_lp64.a/home/soft/mathlib/fftwv215-mpich/lib/libfftw_mpi.a/home/soft/mathlib/fftwv215-mpich/lib/libfftw.a-lmkl/home/soft/intel/mkl/10.1.2.024/lib/em64t/libguide.a

//

RPRP_LIB(SCALAPACK+PBLAS):

-lmkl_intel_lp64/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_scalapack_lp64.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_sequential.a/home/soft/intel/mkl/10.1.2.024/lib/em64t/libmkl_blacs_lp64.a-L/data1/soft/lib/lib/-lfftw_mpi-lfftw-lmkl/data1/soft/intel/mkl/10.0.3.020/lib/em64t/libguide.a

FPFPOPT(p.options):

$(FOPT)

MPMPIRUNcommando:

mpirun-np_NP_-machinefile_HOSTS__EXEC_

DimensionParameters

该部分可以采用默认值,也可以设置为(4GB以上内存)

PARAMETER(NMATMAX=30000)

PARAMETER(NUME=1000)

进入编译部分:

Compile/Recompile

ACompileallprograms(suggested)

主要在编译mpi并行版本的5个可执行文件时会出错,因此编译后需要检查以下文件是否存在:

./SRC_lapw0/lapw0_mpi

./SRC_lapw1/lapw1_mpi

./SRC_lapw1/lapw1c_mpi

./SRC_lapw2/lapw2_mpi

./SRC_lapw2/lapw2c_mpi

11、安装后设置

./userconfig_lapw

editorshallbe:

vi

其余都回车

修改.bashrc,注释以下这行:

#ulimit-sunlimited

修改parallel_options

setenvWIEN_MPIRUN“mpirun-machinefile_HOSTS_-np_NP__EXEC_”

12、配置web界面

用root用户打开apache服务

serviceapache2start

在普通用户下执行

w2web

将打开7890端口作为wien2k的web界面

13、算例测试

进行串行计算:

以系统自带算例TiC为例:

cdTiC

mkdirTiC

cp../TiC.struct.

生成原子信息:

instgen_lapw

初始化算例:

init_lapw–b

计算:

run_lapw

可以看到程序的输出结果在*.output中,如有错误可以在TiC.dayfile中查询。

进行并行计算:

测试并行环境是否设置:

testpara_lapw

测试算例计算状态:

testpara1_lapw

testpara2_lapw

根据.machines文件不同决定进行k点或mpi并行计算:

K点:

granularity:

1

1:

node31:

1

1:

node31:

1

1:

node32:

1

1:

node32:

1

lapw0:

node31:

2node32:

2

extrafine:

1

mpi:

granularity:

1

1:

node31:

2

1:

node32:

2

lapw0:

node31:

2node32:

2

extrafine:

1

计算:

run_lapw-p

14、采用作业调度提交作业

catwien2k.pbs

###########################################################################

##

#Scriptforsubmittingparallelwien2k_09jobstoDawningcluster.#

##

###########################################################################

###########################################################################

#Linesthatbeginwith#PBSarePBSdirectives(notcomments).

#Truecommentsbeginwith"#"(i,e.,#followedbyaspace).

###########################################################################

#PBS-S/bin/bash

#PBS-NTiO2

#PBS-joe

#PBS-lnodes=1:

ppn=8

#PBS-V

#############################################################################

#-S:

shellthejobwillrununder

#-o:

nameofthequeueerrorfilename

#-j:

mergesstdoutandstderrtothesamefile

#-l:

resourcesrequiredbythejob:

numberofnodesandprocessorspernode

#-l:

resourcesrequiredbythejob:

maximunjobtimelength

#############################################################################

#########parallelmodeismpi/kpoint############

PARALLEL=mpi//表示采用mpi并行或k点并行

echo$PARALLEL

################################################

NP=`cat${PBS_NODEFILE}|wc-l`

NODE_NUM=`cat$PBS_NODEFILE|uniq|wc-l`

NP_PER_NODE=`expr$NP/$NODE_NUM`

username=`whoami`

exportWIENROOT=/home/users/mjhe/wien2k_09/

exportPATH=$PATH:

$WIENROOT:

.

WIEN2K_RUNDIR=/scratch/${username}.${PBS_JOBID}

exportSCRATCH=${WIEN2K_RUNDIR}

#creatscratchdir

if[!

-a$WIEN2K_RUNDIR];then

echo"Scratchdirectory$WIEN2K_RUNDIRcreated."

mkdir-p$WIEN2K_RUNDIR

fi

cd$PBS_O_WORKDIR

###############creating.machines################

case$PARALLELin

mpi)

echo"granularity:

1">.machines

foriin`cat$PBS_NODEFILE|uniq`

do

echo"1:

"$i":

"$NP_PER_NODE>>.machines

done

printf"lapw0:

">>.machines

#####lapw0用mpi并行#############

foriin`cat${PBS_NODEFILE}|uniq`

do

printf$i:

$NP_PER_NODE"">>.machines

done

#################################

####lapw0用mpi并行报错的算例用以下mpierrorlapw0########

#printf`cat${PBS_NODEFILE}|uniq|head-1`:

1>>.machines

#############end#################

printf"\n">>.machines

;;

kpoint)

echo"granularity:

1">.machines

foriin`cat$PBS_NODEFILE`

do

echo"1:

"$i":

"1>>.machines

done

printf"lapw0:

">>.machines

#####lapw0用mpi并行#############

foriin`cat${PBS_NODEFILE}|uniq`

do

printf$i:

$NP_PER_NODE"">>.machines

done

#################################

####lapw0用mpi并行报错的算例用以下mpierrorlapw0########

#printf`cat${PBS_NODEFILE}|uniq|head-1`:

1>>.machines

#############end#################

printf"\n">>.machines

echo"extrafine:

1">>.machines

;;

esac

#################endcreating####################

#######Runtheparallelexecutable"WIEN2K"#########

instgen_lapw

init_lapw-b

clean-s

echo"##################starttimeis`date`########################"

run_lapw-p

echo"###################endtimeis`date`########################"

rm-rf$WIEN2K_RUNDIR

########################END########################

一般需要修改的地方已用红字标出

该脚本可以实现算例的初始化,必须在存在*.struct的前提下进行。

15、性能benchmark

CB65

Shanghai2382:

16GB147GBSAS

1000Gb/mpichv1.2.7

TiO2算例:

NMATMAX=30000

2进程k点,mpi并行lapw0、k点并行lapw1、lapw2模块

4m44s

4进程k点,mpi并行lapw0、k点并行lapw1、lapw2模块

4m30s

8进程k点,mpi并行lapw0、k点并行lapw1、lapw2模块

6m29s

2进程mpi,mpi并行lapw0、lapw1、lapw2模块

7m53s

4进程mpi,mpi并行lapw0、lapw1、lapw2模块

6m56s

8进程mpi,mpi并行lapw0、lapw1、lapw2模块

9m5s

标准测试算例:

官方提供的测试算例:

串行:

test_case

exportOMP_NUM_THREADS=1

timexlapw1–c

SUMOFWALLCLOCKTIMES:

135.0(INIT=1.0+K-POINTS=133.9)

exportOMP_NUM_THREADS=4

timexlapw1–c

SUMOFWALLCLOCKTIMES:

62.0(INIT=1.0+K-POINTS=61.0)

exportOMP_NUM_THREADS=8

timexlapw1–c

SUMOFWALLCLOCKTIMES:

56.2(INIT=1.0+K-POINTS=55.2)

并行:

timexlapw1–p

test_case

2kpoint:

test_case.output1:

SUMOFWALLCLOCKTIMES:

62.0(INIT=1.0+K-POINTS=61.0)

test_case.output1_1:

SUMOFWALLCLOCKTIMES:

138.5(INIT=1.0+K-POINTS=137.5)

4kpoint:

test_case.output1:

SUMOFWALLCLOCKTIMES:

62.0(INIT=1.0+K-POINTS=61.0)

test_case.output1_1:

SUMOFWALLCLOCKTIMES:

134.9(INIT=1.0+K-POINTS=133.9)

mpi-benchmark

2process:

mpi-benchmark.output1_1:

TIMEHAMILT(CPU)=134.1,HNS=116.4,HORB=0.0,DIAG=697.5

mpi-benchmark.output1_1:

TOTALCPUTIME:

950.0(INIT=1.9+K-POINTS=948.1)

mpi-benchmark.output1_1:

SUMOFWALLCLOCKTIMES:

1138.9(INIT=2.2+K-POINTS=1136.7)

4process:

mpi-benchmark.output1_1:

TIMEHAMILT(CPU)=67.8,HNS=70.5,HORB=0.0,DIAG=420.6

mpi-benchmark.output1_1:

TOTALCPUTIME:

560.7(INIT=1.8+K-POINTS=558.9)

mpi-benchmark.output1_1:

SUMOFWALLCLOCKTIMES:

643.2(INIT=2.2+K-POINTS=640.9)

8process:

mpi-benchmark.output1_1:

TIMEHAMILT(CPU)=40.4,HNS=44.9,HORB=0.0,DIAG=422.0

mpi-benchmark.output1_1:

TOTALCPUTIME:

509.3(INIT=1.9+K-POINTS=507.4)

mpi-benchmark.output1_1:

SUMOFWALLCLOCKTIMES:

614.3(INIT=2.2+K-POINTS=612.0)

16process:

mpi-benchmark.output1_1:

TIMEHAMILT(CPU)=22.6,HNS=32.5,HORB=0.0,DIAG=140.5

mpi-benchmark.output1_1:

TOTALCPUTIME:

197.5(INIT=1.9+K-POINTS=195.7)

mpi-benchmark.output1_1:

SUMOFWALLCLOCKTIMES:

1190.0(INIT=2.8+K-POINTS=1187.2)

可以用grepTIME*output1*显示计算时间

16、其他

三、Troubleshooting

1、需要在所有计算节点建立本地缓存目录/scratch

mkdir/scratch

chmod777/scratch

2、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1