以root用户登陆
安装intel编译器和mkl库
1.拷贝所有安装文件到opt目录
2.解压缩相应的文件,有 icc和ifort以及mkl的安装文件。
3.开始安装icc:进入解压后的目录,运行./install.sh。
4.除去询问激活方式步骤时选择"以后激活"外,其余全部采用默认安装
5.同样的步骤安装ifort和mkl.如果询问是否覆盖时,选择是
6.安装完成后,将准备好的licenses文件拷贝到/opt/intel/compiler
7.vi ~/.bashrc加入下面的内容
#--- 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
$cd /soft
$tar xzvf pgi-workstation-complete-x64-901.tar.gz
$cd Setup
$tar xzvf pgilinux-901.tar.gz
$./install
...
选择安装路径
安装单机版
...
$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 加入下面内容
#--- 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
因为wien2k采用intel编译器,这里采用intel编译器来编译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个export也可以不用打,在cnofigure中直接指定,如下。
$./configure --with-device=ch_p4 --prefix=/opt/mpich/intel -rsh=ssh -cc=icc -c++=icpc -fc=ifort -f90=ifort
$make
$make install
设置环境变量:
$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中。
fftw有2个版本:一个是2.X.X一个是3.X.X
对于 3.x.x,mpi接口还没有提供。所以采用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
$tar xvf WIEN2k_09_3.tar
$gunzip *.gz
$. /expand_lapw
$./siteconfig
S specify a system 选择系统
输入K [代表 Linux (Intel ifort 10.1 compiler + mkl 10.0 )]
输入S 保存
C specify compiler 选择编译器
输入ifort
输入icc
O specify compiler options, BLAS and LAPACK 选择编译器参数
输入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 选择并行编译参数
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
输入 数值 [ 大小根据内存来确定]
输入 NUME
输入 数值 [ 大小根据内存来确定]
例子:
NMATMAX=sqrt(内存转化为字节数/10)
NUME=NMATMAX/10
假如内存为4G,即4000 000 000字节。Sqrt(4000 000 000/10)=20000
NMATMAX=20000
NUME=20000/10=2000
输入 Q [完成数值设置]
R Compile/Recompile
选择A [编译所有]
编译完成后,如果在最后屏幕中没有看到Error字样,表示全部正确。
如果是第一次安装 还需要设置perl路径,保持默认即可。
以普通用户执行
$./userconfig
输入编辑器vim
输入用户工作路径
输入用户临时文件路径
其他保持默认
Edit .rhosts file now? 选择N
以普通用户执行
$./w2web
默认将在7890端口开启wien2k的web服务器端。
在firefox中输入http://yourip:7890
用来访问wien2k设置。
系统默认的csh是tcsh的链接,对于一部分比较新的Linux版本,Wien2k需要更换这个文件。
可以用其他系统的csh或者tcsh文件或者从源代码编译一个可用的csh或者tcsh覆盖默认的csh和tcsh即可。
至此 wien2k宣告结束