当前位置: 首页 > 第一原理 >【求助】wien2k安装!

【求助】wien2k安装!

作者 Wanghui6383
来源: 小木虫 250 5 举报帖子
+关注

今天刚买了一台电脑,至强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
,不知道会不会影响计算的性能,请虫友们指点一下? 返回小木虫查看更多

今日热帖
  • 精华评论
  • zxzj05

    先要设置好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

  • zxzj05

    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 (用户设置命令, 按提示设置即可成功)

  • 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日,

  • zxzj05

    由一个suse下安装wien2k的教程,过程很详细,但不一定适合你的编译器配置,但很有参考价值,
    在小木虫wien2k下,应该没有沉底,可以去搜罗。

  • zxzj05

    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并行不知道是否设置成功,欢迎大家多多提供信息。

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓