wien2k 2009 编译方法
以root用戶登陸
1. 準(zhǔn)備intel
安裝intel編譯器和mkl庫(kù)
1.拷貝所有安裝文件到opt目錄
2.解壓縮相應(yīng)的文件,有 icc和ifort以及mkl的安裝文件。
3.開(kāi)始安裝icc:進(jìn)入解壓后的目錄,運(yùn)行./install.sh。
4.除去詢問(wèn)激活方式步驟時(shí)選擇"以后激活"外,其余全部采用默認(rèn)安裝
5.同樣的步驟安裝ifort和mkl.如果詢問(wèn)是否覆蓋時(shí),選擇是
6.安裝完成后,將準(zhǔn)備好的licenses文件拷貝到/opt/intel/compiler
7.vi ~/.bashrc加入下面的內(nèi)容
#--- for intel
source /opt/intel/Compiler/11.1/059/bin/iccvars.sh?? intel64
source /opt/intel/Compiler/11.1/059/bin/ifortvars.sh intel64
然后重新登錄或者source ~/.bashrc
2 安裝pgi編譯器(可選)
$cd /soft
$tar xzvf pgi-workstation-complete-x64-901.tar.gz
$cd Setup
$tar xzvf pgilinux-901.tar.gz
$./install
...
選擇安裝路徑
安裝單機(jī)版
...
$cd ../Crack
$tar xjvf pgi_9.0-1_linux64.tar.bz2
$cp pgi_9.0-1_linux64_patcher 安裝目錄
$cd 安裝目錄
$./pgi_9.0-1_linux64_patcher
$cd /soft/Crack/license.dat 安裝目錄
$vi ~/.bashrc 加入下面內(nèi)容
#--- for pgi9.01
PATH=/opt/pgi/linux86-64/9.0/bin:$PATH
export PATH
MANPATH=$MANPATH:/opt/pgi/linux86-64/9.0/man
export MANPATH
LM_LICENSE_FILE=/opt/pgi/license.dat
export LM_LICENSE_FILE
LD_LIBRARY_PATH=/opt/pgi/linux86-64/9.0-1/libso:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
保存退出后重新登錄或者source ~/.bashrc
3 安裝mpich
因?yàn)閣ien2k采用intel編譯器,這里采用intel編譯器來(lái)編譯mpich
$tar xzvf mpich-1.2.7p.tar.gz
$cd mpich-1.2.7p
$export CC=icc
$export CXX=icpc
$export FC=ifort
$export F90=ifort
?
上面下面4個(gè)export也可以不用打,在cnofigure中直接指定,如下。
$./configure --with-device=ch_p4 --prefix=/opt/mpich/intel -rsh=ssh -cc=icc -c++=icpc -fc=ifort -f90=ifort
$make
$make install
設(shè)置環(huán)境變量:
$vi ~/.bashrc
#--- for mpich
MPI=/opt/mpich/intel
export MPI
PATH=$PATH:$MPI/bin
export PATH
MPI_LIB=$MPI/lib
MPI_INCLUDE=$MPI/include
export MPI_LIB
export MPI_INCLUDE
重新登陸用戶或者source ~/.bashrc后再編譯下面的.
注意:以后如果用普通用戶最好將此加入普通用戶的.bashrc中。
4 安裝fftw
fftw有2個(gè)版本:一個(gè)是2.X.X一個(gè)是3.X.X
對(duì)于 3.x.x,mpi接口還沒(méi)有提供。所以采用2.x.x
$tar xzvf fftw-2.1.5.tar.gz
$./confiure CC=icc -prefix=/opt/mathlibs/fftw --enable-mpi --enable-threads
$make
$make install
5 安裝wien2k
$tar xvf WIEN2k_09_3.tar
$gunzip *.gz
$. /expand_lapw
$./siteconfig
S specify a system 選擇系統(tǒng)
輸入K [代表 Linux (Intel ifort 10.1 compiler + mkl 10.0 )]
輸入S 保存
C specify compiler 選擇編譯器
輸入ifort
輸入icc
O specify compiler options, BLAS and LAPACK 選擇編譯器參數(shù)
輸入L
輸入 $(FOPT) -L/opt/intel/mkl/10.2.2.025/lib/em64t
輸入R
輸入 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread
輸入S [保存]
P configure Parallel execution 選擇并行編譯參數(shù)
Shared Memory Architecture? (y/n)
選擇y
Do you have MPI and Scalapack installed and intend to run
finegrained parallel? (This is usefull only for BIG cases)!
(y/n)
輸入y
Your compiler:
輸入mpif90
輸入RP
輸入
-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread -I/opt/mpich/intel/include/ -L/opt/mathlibs/fftw/lib/ -lfftw_mpi -lfftw
輸入MP
輸入mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_
輸入 S [保存]
D Dimension Parameters
輸入 D
輸入 1
輸入 NMATMAX
輸入 數(shù)值 [ 大小根據(jù)內(nèi)存來(lái)確定]
輸入 NUME
輸入 數(shù)值 [ 大小根據(jù)內(nèi)存來(lái)確定]
例子:
NMATMAX=sqrt(內(nèi)存轉(zhuǎn)化為字節(jié)數(shù)/10)
NUME=NMATMAX/10
假如內(nèi)存為4G,即4000 000 000字節(jié)。Sqrt(4000 000 000/10)=20000
NMATMAX=20000
NUME=20000/10=2000
輸入 Q [完成數(shù)值設(shè)置]
R Compile/Recompile
選擇A [編譯所有]
編譯完成后,如果在最后屏幕中沒(méi)有看到Error字樣,表示全部正確。
如果是第一次安裝 還需要設(shè)置perl路徑,保持默認(rèn)即可。
?
?
以普通用戶執(zhí)行
$./userconfig
輸入編輯器vim
輸入用戶工作路徑
輸入用戶臨時(shí)文件路徑
其他保持默認(rèn)
Edit .rhosts file now? 選擇N
?
以普通用戶執(zhí)行
$./w2web
默認(rèn)將在7890端口開(kāi)啟wien2k的web服務(wù)器端。
在firefox中輸入http://yourip:7890
用來(lái)訪問(wèn)wien2k設(shè)置。
?
6 替換csh
系統(tǒng)默認(rèn)的csh是tcsh的鏈接,對(duì)于一部分比較新的Linux版本,Wien2k需要更換這個(gè)文件。
可以用其他系統(tǒng)的csh或者tcsh文件或者從源代碼編譯一個(gè)可用的csh或者tcsh覆蓋默認(rèn)的csh和tcsh即可。
至此 wien2k宣告結(jié)束
?
?
后記:
此方法可能在某些平臺(tái)上不能成功安裝,主要出錯(cuò)在fftw數(shù)學(xué)庫(kù)文件上
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的wien2k 2009 编译方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 汽水音乐怎么挂在抖音里面
- 下一篇: 比亚迪出海车型获大量国外媒体好评 刀片电