24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2185  |  回复: 5
当前主题已经存档。

Wanghui6383

银虫 (正式写手)

[交流] 【求助】wien2k安装!

今天刚买了一台电脑,至强8核,8G,1T的服务器。
装了suse enterprise.
我现在已有数据库文件和wien2k的代码:(如下五个文件)
l_fc_p_10.1.021.tar.gz
l_mkl_p_10.0.2.018.tgz
NCOM_L_CMP_FOR_N3KT-NHHS5RP7.lic
NCOM_L_MKL__NP5T-HW68SJVM.lic
WIEN2k_08.tar

(1)请问具体的安装过程,最好有什么教程之类的。
我是新手,越详细越好,谢谢各位虫友了。
(2)做计算的这台服务器,可不可以装双系统,比如除了suse外,我在装个xp
,不知道会不会影响计算的性能,请虫友们指点一下?
回复此楼
愿意结识从事第一原理研究的学者!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)


wuli8(金币+1,VIP+0):(*^__^*) 3-17 11:32
先要设置好intel编译器的位置和使用权限:
[user@Linux wien]$ tar -xvf WIEN2k.tar
[user@Linux wien]$ gunzip *.gz
[user@Linux wien]$ chmod +x ./expand_lapw
[user@Linux wien]$ ./expand_lapw
[user@Linux wien]$ ./siteconfig
(这一步很重要,里面有很多参数选择和设置,特别是编译器那里)
[user@Linux wien]$ w2web
储氢家族欢迎储氢研究者!
2楼2009-03-17 09:52:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)

★ ★
wuli8(金币+2,VIP+0):(*^__^*)谢谢,讨论! 3-17 11:33
ubuntu server安装wien2k的详细过程

想在刚刚搭建好的Ubuntu Linux服务器上用wien2k做做能带计算, 那么搭建wien2k能带计算的服务器就成了当务之急. 没想到的是这个能带计算的服务器竟然用了我3天的元旦假期, 2008年的元旦就在电脑旁边度过了, 直到最后一天的下午才搭建成功. 这期间, 最主要的浪费时间的地方是, 服务器的CPU架构, 服务器用的电脑是AMD64位的, 而编译器要用Intel的编译器, 很是痛苦. 刚开始的时候服务器是64位的, 装了很久无法成功,后来没有办法只能把服务器重装为32位的, 这个浪费了不少时间. 最后一个浪费时间的地方是缺少libstdc++.so.5. 不过, 还算庆幸, 总算搭建好了. 由于编译器等等的不同, 还无法最后确定安装是否完全正确. 只能等计算一个例子后来确定了.

下面是搭建wien2k的过程.
准备工作请使用如下命令:
1. sudo apt-get install build-essential (安装编译器)
2. sudo apt-get install csh perl emacs gnuplot ghostscript
3. sudo apt-get alien (这个主要是为了安装缺少的libstdc++.so.5的rpm包)
4. sudo apt-get install intel-cluster-mkl (安装interl 的MKL包, 或者通过安装下载的intel-cluster-mkl_8.0.1p-7_all.deb)
5. 到http://www.intel.com/cd/software/products/asmo-na/eng/282048.htm下载ifort 编译器, 下载后的文件名称为l_fc_p_10.1.008_ia32.tar.gz 注意要下载32位的, 然后解压安装. 注意注册的时候Intel发的serial number在安装的时候有用.
6. 安装完毕后, add a file 'profile.local' to /etc; or edit the file '.bashrc' as followings注意, 把其中的9.0等替换成自己下载的10.1.008版本号.
profile.local:
#
PATH="/opt/intel/fc/9.0/bin":${PATH}
#PATH="/opt/intel/idb90/bin":${PATH}
export PATH
#
#MANPATH="/opt/intel/idb90/man:${MANPATH}"
MANPATH="/opt/intel/fc/9.0/man:${MANPATH}"
export MANPATH
#
LD_LIBRARY_PATH="/opt/intel/cmkl/8.0.1/lib/32":$LD_LIBRARY_PATH
LD_LIBRARY_PATH="/opt/intel/fc/9.0/lib":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
#
INCLUDE="/opt/intel/cmkl/8.0.1/include":$INCLUDE
export INCLUDE
#
INTEL_LICENSE_FILE="/opt/intel/licenses"
export INTEL_LICENSE_FILE
#
*********************end of profile.local

.bashrc
.......................
if [ -z "${PATH}" ]
then
PATH="/opt/intel/fc/9.0/bin"; export PATH
else
PATH="/opt/intel/fc/9.0/bin:$PATH"; export PATH
fi

if [ -z "${LD_LIBRARY_PATH}" ]
then
LD_LIBRARY_PATH="/opt/intel/fc/9.0/lib"; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH="/opt/intel/fc/9.0/lib:$LD_LIBRARY_PATH"; export LD_LIBRARY_PATH
fi

if [ -z "${MANPATH}" ]
then
MANPATH="/opt/intel/fc/9.0/man":$(manpath); export MANPATH
else
MANPATH="/opt/intel/fc/9.0/man:${MANPATH}"; export MANPATH
fi

if [ -z "${INTEL_LICENSE_FILE}" ]
then
INTEL_LICENSE_FILE="/opt/intel/fc/9.0/licenses:/opt/intel/licenses:${HOME}/intel/licenses"; export INTEL_LICENSE_FILE
else
INTEL_LICENSE_FILE="${INTEL_LICENSE_FILE}:/opt/intel/fc/9.0/licenses:/opt/intel/licenses:${HOME}/intel/licenses"; export INTEL_LICENSE_FILE
fi
.....................

7 到http://mirror.centos.org/centos/ ... 3.2.3-47.3.i386.rpm 下载这个rpm包, 这个包会把缺少的libstdc++.so.5文件补上. 执行如下命令
sudo alien -k compat-libstdc++-33-3.2.3-47.3.i386.rpm
sudo dpkg -i compat-libstdc++-33_3.2.3-47.3_i386.deb

好了, 到此为止准备工作完成, 这些步骤在不知道的情况下, 要摸索很久,现在写出来, 下次再装就简单多了.

接下来就是安装wien2k了, 准备工作做好后, 这个东西的安装倒不是太难.
1. mkdir WIEN2K_ROOT
2. mv WIEN2k_05_20060207.tar WIEN2K_ROOT
3. cd WIEN2K_ROOT
4. tar -xvf wien2k_00.tar (skip this if you downloaded files separately)
5. gunzip *.gz
6. chmod +x expand_lapw
7. ./expand_lapw
8. ./siteconfig_lapw
9. select "ifort" compiler for fortran programs
10. select "gcc" compiler for C programs
10. FOPTCompiler options: '-FR -w -mp1 -prec_div -pad -ip'
11. Linker options : -L/opt/intel/fc90/lib -i-static -lguide_stats -lsvml -lpthread
12. BLAS-LAPACK options (R LIBS):-L/opt/intel/mkl80/lib/32 -lmkl_lapack -lmkl_ia32 -lguide -lguide_stats -lpthread
13. ./userconfig_lapw (用户设置命令, 按提示设置即可成功)
储氢家族欢迎储氢研究者!
3楼2009-03-17 09:53:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)

Wien2K08 MKL10 编译安装而且并行(转载)

// ============================================================================================
// Wien2K 2008 用 Linux + EM64T + ifort 10 + MKL 10 + intel mpi 2 编译安装而且并行
// Morning 2008-1-30 21:06
// miaoling82#sina.com
//
Wien2K 的 K 点并行是用 sh脚本手动分开 Klist,变成 n个小任务,由 n个进程分别运行一个 Klist。
算完以后聚集起来,...
如果是共享内存时候,是在单节点 run; 如果是多个节点,会用命令 rsh node "cd workdir; ... "
原子并行时候需要 mpi + scalapack, ???
// ============================================================================================
// 参考文档:
1、Gerhard H. Fecher 《Compiling Wien2k on Intel based systems with Suse Linux》 September 23, 2007
2、Peter Blaha etc. 《Wien2K08 usersguide》 November 27, 2007
3、http://bbs.imaterials.org/showth ... ....xtra=%26pp%3D30
4、http://bbs.matsim.com.cn/viewthread.php?tid=129
这个也是转贴,没有找到原始出处,对不起这位 XD了~
5、http://www.wien2k.at/reg_user/faq/
// ============================================================================================
// 简单介绍:
1、安装好 ifort 10 + MKL 10 + intel mpi 2;
在 ~/.bashrc 里面设置 PATH
2、cd wien2k;
./siteconfig; 我的优化选项加了 -O3 -xW
3、可能需要修改一些文件,
vi parallel_options: mpirun -machinefile _HOSTS_ -np _NP_ _EXEC_ # change this line
vi lapw2para: set remotemachine = `head -1 .machine[$p]` # add this line
4、cd workdir;
vi .machines; 配置节点。
5、如果要和 pbs 配合的话,还要配置。请参考 Wien2K 官方网站 FQA.
// ============================================================================================
// 编译选项
[czhu#master Wien2K08]$ uname -a
Linux master 2.6.8.1 #2 SMP Fri May 12 10:57:22 CST 2006 x86_64 x86_64 x86_64 GNU/Linux

[czhu#master Wien2K08]$ ./siteconfig
Current system is: linuxif8
Current selection: ifort
Current selection: mpiifort
// O 串行版本
Current settings:
O Compiler options: -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -O3 -xW
L Linker Flags: $(FOPT) -L/home/czhu/intel/mkl/10.0.1.014/lib/em64t -lguide -lpthread
P Preprocessor flags '-DParallel'
R R_LIB (LAPACK+BLAS): -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
# MKL9 R_LIB (LAPACK+BLAS): -lmkl -lmkl_lapack

// MKL 10 如果链接 -lmkl, lapw1 会莫名其妙 Abort,只有用 -lmkl_sequential
// 链接 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
// MKL 10 -lmkl -> libmkl_intel_lp64.so, libmkl_intel_thread.so, libmkl_core.so

// P 并行版本
// NOTE! 重复了 -lmkl_blacs_intelmpi20_lp64 -lmkl_scalapack -lmkl_blacs_intelmpi20_lp64 -lmkl_scalapack
// WHY need?
Current settings:
RP RP_LIB(SCALAPACK+PBLAS): -L/home/czhu/intel/mkl/10.0.1.014/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi20_lp64 -lmkl_scalapack -lmkl_blacs_intelmpi20_lp64 -lmkl_scalapack -lmpi
FP FPOPT(par.comp.options): -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML -O3 -xW
MPIRUN commando : mpirun -machinefile _HOSTS_ _EXEC_ -np _NP_
### NO! MPIRUN commando : mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_

// ============================================================================================
// 可能需要注意的地方!!!
1. all PATH set in ~/.bashrc NOT in ~/.bash_profile,
otherwise will have Error when 'rsh node "mpirun ..." '

2. cd wien2k;
vi parallel_options:
setenv USE_REMOTE 1
setenv WIEN_GRANULARITY 1
setenv WIEN_MPIRUN "mpirun -machinefile _HOSTS_ -np _NP_ _EXEC_"

vi lapw2para:
if ($useremote == 1) then
set remote = rsh
set remotemachine = `head -1 .machine[$p]` ### add this line
($remote $remotemachine "cd $PWD;$t $ttt $vector_split;rm -f .lock_$lockfile[$p]" >>.time2_$loop

3. cd workdir;
vi .machines; 按照 usersguide 修改,如果 node 有 2cpus, 有 4 nodes;
如果 K 点并行,一般为
1:node01:1
1:node01:1
...
1:node04:1
1:node04:1
如果 MPI 并行,一般为
1:node01:2
...
1:node04:2

4. w2web 的配置,最好通过IP访问,为 http://IP:7890
在外网时候可能无法连接,需要 ssh tunnel 中转。请参考:
《Wien2K08 usersguide》11.3 节;
Jamyy's Weblog 《PuTTY - SSH Tunnel 运用备忘》2006年01月10日
储氢家族欢迎储氢研究者!
4楼2009-03-17 09:55:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)


wuli8(金币+1,VIP+0):(*^__^*) 3-17 11:35
由一个suse下安装wien2k的教程,过程很详细,但不一定适合你的编译器配置,但很有参考价值,
在小木虫wien2k下,应该没有沉底,可以去搜罗。
储氢家族欢迎储氢研究者!
5楼2009-03-17 09:57:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxzj05

荣誉版主 (著名写手)

★ ★ ★ ★ ★
wuli8(金币+5,VIP+0):(*^__^*)谢谢,讨论! 3-17 11:35
wien2k在amd架构服务器上整个的编译过程
1、系统的安装
    因为要用服务器搭建一个简单的集群,为了参考车静光老师的《微机集群组建、优化和管理》,所以决定选用suse linux。我用的是enterprise sever x86-64版。设置需要安装软件的时候,即使全部选中也还有很多的package没有安装。这时,可以按detail键,选择package group在其中查找gunplot,将其选中,否这运行wien2k的时候无法显示态密度图。

2、编译器的安装
    我选择了pgi的编译器7.0所谓的tbe版,不知道是不是破解版,还没有过15天。安装起来比较容易,将过程略去。
3、Mpich2的安装
    安装之前执行export FC=pgf90 CC=pgcc FFLAGS="-mcmodel=medium" CFLAGS=="-mcmodel=medium" CCFLAGS=="-mcmodel=medium" RSHCOMMAND=rsh
    mkdir /where_you_install_mpich2
   ./configure -prefix=/where_you_install_mpich2
    make
    make install
    PS:安装结束别忘记声明

4、数学库的安装
     数学库的选择颇为麻烦。听说对于amd的平台,pgi+libgoto运算最快。对数学库不熟悉的我最初尝试了用intel的ifort,icc和intel的mkl。我发现mkl的设置非常麻烦,尤其9和10架构有较大的差异,导致很难编译成功(尽管我参考了那篇著名的《Compiling Wien2k on Intel based systems with Suse Linux》)。按照Fecher的建议,我选择了mkl9,但是设置并行的时候还需要自己从网上下载blacs,scalapack等等,编译起来非常麻烦,极有可能设置错误。mkl10包含了scalapack,但是userguide对结构的介绍让人头疼。后来参考了一位网友编译的例子(对不起,现在找不到那篇帖子了,无法指名出处),感觉编译过程中参数设置非常奇怪,即使编译通过,运算过程还是出现错误。后来我发现了张挺的一篇关于上海超级计算中心编译wien2k的文章,按照上面的介绍,我选择了amd的核心数学库acml3.1,不过为了方便并减少可能出错的环节,我选择了amdscalapck3.1。这两个数学库安装起来相当容易,没有了繁琐的makefile的设置过程,只要install就可以了。

5、编译过程
     gunzip *.gz
     chmod +X ./expand_lapw
    ./expand_lapw (由于这三个过程都非常容易,略过)
    下面我重点说下./siteconfig_lapw
    系统的选择 :选择L (linux+pgi )
    接下来的设置非常容易,基本选择默认的设置就可以。需要指出的是,在设置LDFLAGS时,最好给出绝对路径。我试了几次没有给出决定路径,总是提示找不到blas或者lapack。
    接下来是并行过程的设置。如果虫友的计算环境是单台多cpu的工作站或者服务器,shared memory一项选择y,接下来选择y和mpif90。如果为集群,可以选择n,rsh,y和mpif90。
    下面最重要的RP_LIBS的设置。我起初按照张挺文章上的设置,编译过程总是抱错。我后来在compile message中发现出错可能和RP_LIBS中设置的顺序有关(只是感觉,不知是否正确)。以下是我的具体参数设置(我将数学库和编译起都安装在了/opt目录中):  /opt/acml3.1.0/pgi64/lib/libscalapack.a /opt/acml3.1.0/pgi64/lib/libacml.a /opt/acml3.1.0/pgi64/lib/libblacsF77init.a /opt/acml3.1.0/pgi64/lib/libblacsCinit.a /opt/acml3.1.0/pgi64/lib/libblacs.a

6、编译
     选择编译全部的程序,编译过程可能持续10几分钟。
结语
    按照上述编译过程我在集群上试验了TiC的例子,计算成功。然而对于LaSrMnO的例子在计算至lapw2时候始终失败,可能是我对程序不够熟悉,部分参数设置有误吧。计算过程中我一直选择的是k点并行,因为我的集群只有40个核心。mpi并行不知道是否设置成功,欢迎大家多多提供信息。
储氢家族欢迎储氢研究者!
6楼2009-03-17 09:58:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Wanghui6383 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见