24小时热门版块排行榜    

查看: 12259  |  回复: 47

txcokokok

木虫 (小有名气)

[交流] vasp 5.2 安装过程 (串行+并行)+(32位+64位) + ifort +intel MKL+ openmpi已有21人参与

刚刚接触linux,第一次在小木虫上发帖子,写一下自己安装的详细步骤,以供初学者参考。我自己各种baigooledu,装了8天才装好,希望这个帖子能帮别人少走弯路,如果都按我这样安装应该不会出什么问题,一天就搞定了。为了初学者考虑,很多地方写的比较罗嗦,大牛们别喷,如果哪里写的不对还请及时指正,多谢多谢!!

#系统:Ubuntu 12.04 32位和64位都成功了,这是经过intel公司测试的系统,或者11.10,在ifort安装包中有说明文件,其他ifort版本建议安装说明书中的系统,否则可能会因为不兼容,出现base.f90之类的错误。
#Fortran: ifort:parallel_studio_xe_2013_update2,可在官网:software.intel.com/en-us/articles/non-commercial-software-download/下载,或者在百度网盘下载:http://pan.baidu.com/s/1o6sPd8m
#Intel 的 MKL
#openmpi
#VASP 5.2.2
(在4.6上也编译成功了,过程基本一致,但makefile文件有所不同,在最后贴出,不同版本请不要混用。)

###############初学者知识普及##################
#ifort,gfortran,pgifortran 是一类的。
(选一个安装就好了,其中ifort(Intel fortran composer通常自带compiler和MKL库。
附:gfortran安装:sudo apt-get install gfortran;通过命令“gfortran -v”,可以查看  
     gfortran是否安装成功。
     参考:http://blog.sina.com.cn/s/blog_6dd65c6f0100y793.html

#Intel 的 MKL和GotoBlas,ATLAS 是一类的。
(也可都不安装,使用VASP自带数据库)

#vasp自带的fft和fftw是一类的

##################安装过程#####################
建议使用root账户安装所有文件,步骤:
1.获取root权限:sudo passwd root,按提示输入密码
2.sudo su
3.若已使用root账户,但安装过程仍提示没有权限,可用该命令获取运行读写文件权限:chmod -R +rwx 目录
4.如需修改根目录/下的文件,除了root后使用vi 或 vim 编辑器;还可以使用nautilus命令打开一个root账户的主窗口,享有读写保存任何文件的权限。普通账户使用sudo nautilus。

                一.环境包
1.以下软件需要自行安装
sudo apt-get install build-essential
sudo apt-get install gcc-multilib
sudo apt-get install libstdc++5
sudo apt-get install openjdk-6-jre-headless

以下为12.04系统默认自带,建议检查,使用g++ -v之类的代码;注意gcc和g++的版本应一致。
sudo apt-get install g++

参考:
1.http://blog.163.com/fj_ltls/blog/static/138027111201063184339602/
2.http://www.linuxidc.com/Linux/2012-07/65070.htm

以下视情况安装。
#安装amd64版本的编译器也需要一些32位库支持,使用命令安装:
    sudo apt-get install ia32-libs
    sudo apt-get install lib32stdc++6
    sudo apt-get install libc6-dev-i386
    sudo apt-get install g++-multilib

                二.安装inter fortran compiler 2013
1.cd 目录
2../install.sh
3.ENTER
4.view license,一路空格,最后accept
5.Alternative activation, use a license file, provide the full path, 输入:目录/lic文件名 (具体内容可能有出入)
6.可选择Typical Install全部安装,或只安装inter fortran composer, 安装包具体内容可参考说明文件。
7.目录已存在,因为里面放了刚才的lic文件,所以无所谓,overwrite yes。后面省略,安装完成。
8.加入环境路径,使用刚才提到的nautilus命令,打开主窗口,在主目录下(通常为/home/你的用户名,也就是打开终端时显示的路径)按ctrl+h,显示隐藏文件,打开.bashrc, 在最后插入

source /opt/intel/bin/ifortvars.sh ia32
source /opt/intel/composer_xe_2013.2.146/mkl/bin/mklvars.sh ia32

(根据情况改代码目录,32位用ia32, 64位用intel64。intel文件夹中会有多个ifortvars.sh文件,bin目录下是一个索引之类的文件,composer_xe_2013.2.146目录下的则只有一句路径代码,选择bin下的也会指到composer_xe_2013.2.146去,所以选择哪个无太大关系。)
9.cd 主目录,source .bashrc (以后若出现 make:找不到ifort,gfortran 命令、文件之类的,再source .bashrc一下就好了)
10.验证:which ifort显示路径;
   测试:新建文本文档,文件名hello.f90,文本如下:
        program main
        write(*,*) "hello"
        stop
        end
终端输入:cd 目录,ifort -o hello hello.f90,运行./hello, 出现hello.

                三.安装fftw
(奔腾4以上机子可以提速,具体请自行测试;这里提供安装方法,也可不用,vasp中已包含fft)
1.下载:http://www.fftw.org/
2.解压
3.cd 目录
4. ./configure --prefix=目录
5.make
6.make install
7.把fftw/api/fftw3.f拷贝到VASP.5.2文件夹下

参考:
1:http://wangzongguo122.blog.163.c ... 122012111393011404/
2.http://www.linuxidc.com/Linux/2007-04/3529p2.htm

以下提供串行和并行两种安装方法,内容没有联系,选择一种即可。
#################串行安装方法###############
                四.安装vasp 5.2
(重要:每次修改了makefile.linux_ifc_P4后,建议删掉整个5.2或者5.lib的文件夹重新插入makefile.linux_ifc_P4;5.2的文件夹还需插入fftw3.f;或者使用命令清除结果文件,具体命令自学)
1.下载,解压
2.修改 vasp.5.lib 下的makefile.linux_ifc_P4文件,FC=ifc改为 FC=ifort
3.cd 主目录(/home/txc), source .bashrc
4. cd vasp.5.lib目录
5.cp makefile.linux_ifc_P4 makefile
6.make(成功应生成libdmy.a)

7.修改 vasp.5.2 下的makefile.linux_ifc_P4文件 (-L:指定lib库路径,-l:指定库文件名,具体目录自行修改)
FC=ifort

BLAS=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/ia32 -lmkl_intel -lmkl_sequential -lpthread -lmkl_core
(BLAS有多处,根据mkl还是gotoblas具体修改;四个库文件顺序有一定要求,名字根据情况修改,若改错了可能会报 undefined reference 的错误)

LAPACK=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/ia32  -lmkl_intel -lmkl_sequential -lpthread -lmkl_core

FFT3D   = fftw3d.o fft3dlib.o   /home/txc/install/fftw-3.3.4/lib/libfftw3.a
(用#注释掉其他同类项)

8.cd 主目录(/home/txc),source .bashrc
9.把fftw/api/fftw3.f拷贝到VASP.5.2文件夹下
10.cd vasp.5.2目录
11.cp makefile.linux_ifc_P4 makefile
   make(成功应生成名为 vasp 的可执行程序)

#################并行安装方法###############
                五.安装openmpi
1.下载:http://www.open-mpi.org/software/ompi/v1.8/
2.解压
  cd 主目录 /home/txc , source .bashrc
3.cd 目录
4. ./configure --prefix=目录 CC=icc CXX=icpc F77=ifort FC=ifort
(若不加 CC=icc CXX=icpc F77=ifort FC=ifort ,则用gcc编译)
5.make all install
6.在openmpi目录下新建一个openmpi.sh ,内容如下,目录自改

export PATH=/home/txc/install/openmpi-1.8.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/txc/install/openmpi-1.8.2/lib:$LD_LIBRARY_PATH
export MANPAH=/home/txc/install/openmpi-1.8.2/share/man:$MANPATH

然后在.bashrc最后插入
source /home/txc/install/openmpi-1.8.2/openmpi.sh
7.cd 主目录(/home/txc), source .bashrc
(路径加入bashrc后,每次启用当前账户都会自动添加路径,但每次切到root账户后需再次输入source .bashrc,否则会报gfortran 找不到文件 的错误)
检验:
        1.$echo $PATH
              $echo $LD_LIBRARY_PATH
        结果中显示有刚才的bin和lib路径则为配置成功
        2.which mpirun
        应显示/home/txc/install/openmpi-1.8.2/bin/mpirun 之类
        3.切换到普通账户,以免提示root账户会修改系统文件的问题
          cd 目录/examples
          make
          mpirun -np 2 hello_c (2为双核)
         应出现:
Hello, world, I am 0 of 2
Hello, world, I am 1 of 2

参考:
1.http://blog.sina.com.cn/s/blog_8f86de6b0101ayav.html

                六.VASP设置
1.修改5.lib的makefile.linux_ifc_P4
FC=ifc 改为 FC=ifort  
FFLAGS = -O0 -FI 改为 FFLAGS = -O2 -FI
2.cd 主目录(/home/txc),source .bashrc
  cd lib目录
  cp makefile.linux_ifc_P4 makefile
  make(成功应生成libdmy.a)

3.修改5.2的makefile.linux_ifc_P4
(没有提到的可保持原样,同个位置的blas 和lapack注意注释掉其它的同类项)
FC=ifc 改为 FC=ifort
OFLAG=-O3 改为 OFLAG=-O3 -xhost -ip -funroll-loops

32:BLAS=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/ia32 -lmkl_intel -lmkl_sequential -lpthread -lmkl_core
64:BLAS=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lpthread -lmkl_core

32:LAPACK=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/ia32  -lmkl_intel  -lmkl_sequential -lpthread -lmkl_core
64:LAPACK=-L/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lpthread -lmkl_core

若用vasp自带的fft:FFT3D   = fft3dfurth.o fft3dlib.o (建议先用自带的测试,成功再使用fftw,以免出问题不知是否是fftw安装出错)
若用fftw:FFT3D   = fftw3d.o fft3dlib.o   /home/txc/install/fftw-3.3.4/lib/libfftw3.a

FC=mpif77 改为 FC=mpif90


去掉以下代码的#
FCL=$(FC)

CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC\" -DIFC \
-Dkind8 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \ 改为 -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
-DMPI_BLOCK=8000 改为 -DMPI_BLOCK=500  \

BLACS=$(HOME)/archives/SCALAPACK/BLACS/
SCA_=$(HOME)/archives/SCALAPACK/SCALAPACK

SCA= $(SCA_)/libscalapack.a  \
$(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a

LIB     = -L../vasp.5.lib -ldmy  \
      ../vasp.5.lib/linpack_double.o  \
      $(SCA) $(LAPACK) $(BLAS)

若用vasp自带的fft: FFT3D = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.o
若用fftw: FFT3D = fftmpi.o fftmpi_map.o fftw3d.o fft3dlib.o   /home/txc/install/fftw-3.3.4/lib/libfftw3.a
4.把fftw/api/fftw3.f拷贝到VASP.5.2文件夹下
  cd 主目录(/home/txc),source .bashrc
  cd 5.2目录
  cp makefile.linux_ifc_P4 makefile
  make(成功应生成名为 vasp 的可执行程序)

参考:
1.vasp 标准安装文档:
http://wenku.baidu.com/link?url=QKGImmk0_iKGpieLKAimZ1kqOI3d4Zw_KUhT9iW1Qm6ipc4TjiO9KF6_ZycoP66crMsEL_6pjj1mbII1C1U5IcB4aw_fj72Qte2OdTiKuy_
2.曙光HPC调试手册
http://www.docin.com/p-570224760.html
(这是卖软件的人写的安装教程,4.6的,比较权威,可惜没早看到)
3.相关软件和makefile文件:http://yun.baidu.com/share/link? ... amp;amp;uk=85263699

修订:
五.安装openmpi
export MANPAH=/home/txc/install/openmpi-1.8.2/share/man:$MANPATH
MANPAH 改为MANPATH
export MANPATH=/home/txc/install/openmpi-1.8.2/share/man:$MANPATH

[ Last edited by txcokokok on 2014-10-20 at 10:13 ]
回复此楼

» 收录本帖的淘贴专辑推荐

VASP and MS uicorn3 VASP 光催化
计算-vasp 第一性原理 木虫课件 castep
催化 @个人收集@ 第一原理 VASP计算
材料模拟基础书籍 凝聚态物理 VASP 激光器软件模拟
VASP 资料 VASP学习 软件
计算

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

bigbang
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

txcokokok

木虫 (小有名气)

txcokokok: 回帖置顶 2015-12-25 10:59:59
这是我的博客,重新整理了一下安装步骤,大家看这个吧。
http://blog.csdn.net/txcokokok/article/details/42219099
bigbang
22楼2015-01-16 21:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

txcokokok

木虫 (小有名气)

bigbang
2楼2014-09-24 16:35:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magicmonk

至尊木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问为何-DMPI_BLOCK=8000 要改为 -DMPI_BLOCK=500 ?
我们最深的恐惧不是我们能力不够,我们最深的恐惧是能力超越了极限。
3楼2014-09-25 08:41:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

txcokokok

木虫 (小有名气)

引用回帖:
3楼: Originally posted by magicmonk at 2014-09-25 08:41:52
请问为何-DMPI_BLOCK=8000 要改为 -DMPI_BLOCK=500 ?

嗯,不好意思,这个我真不知道,这个我是按“vasp 标准安装文档”那篇改的,其实我连DMPI_BLOCK是设置什么的都不知道
bigbang
4楼2014-09-25 13:49:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

afan0012

木虫 (小有名气)

送红花一朵
多谢楼主分享。
5楼2014-09-25 16:15:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

未岸亡灵

铁杆木虫 (著名写手)

暂时离开小木虫



小木虫: 金币+0.5, 给个红包,谢谢回帖
DCACHE_SIZE和DMPI_BLOCK或许会影响并行速度,建议楼主测试一下
FFLAGS也是个很重要的参数,楼主设置的和很多地方看到的不一样
6楼2014-09-26 09:06:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

未岸亡灵

铁杆木虫 (著名写手)

暂时离开小木虫


引用回帖:
6楼: Originally posted by 未岸亡灵 at 2014-09-26 09:06:12
DCACHE_SIZE和DMPI_BLOCK或许会影响并行速度,建议楼主测试一下
FFLAGS也是个很重要的参数,楼主设置的和很多地方看到的不一样

2013编译器找了很久,感谢楼主分享
7楼2014-09-26 09:06:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

txcokokok

木虫 (小有名气)

引用回帖:
6楼: Originally posted by 未岸亡灵 at 2014-09-26 09:06:12
DCACHE_SIZE和DMPI_BLOCK或许会影响并行速度,建议楼主测试一下
FFLAGS也是个很重要的参数,楼主设置的和很多地方看到的不一样

确实在网上看到了很多安装方法,但是很多都不一样,搞的我也很迷惑,其中有一些完全按照他们的设置也还是不行,当然也有可能是电脑或者系统不同的原因。现在的设置是按照上面提到的两篇标准安装文档改的,确实还没有测试不同设置的速度,多谢提醒,如果知道具体会有什么影响还请多指教。
bigbang
8楼2014-09-26 10:14:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

txcokokok

木虫 (小有名气)

引用回帖:
7楼: Originally posted by 未岸亡灵 at 2014-09-26 09:06:58
2013编译器找了很久,感谢楼主分享...

不用客气,我也是从别人那里拿来的
bigbang
9楼2014-09-26 10:16:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

txcokokok

木虫 (小有名气)

在这里看到的:http://muchong.com/html/201204/4365939.html
关于FFLAGS设置优化级别的。
Set the optimization level. If −O is not specified, then the default level is 1 if −g is not specified,and 0 if −g is specified. If a number is not supplied with −O then the optimization levelisset to 2.The optimization levels and their meanings are as follows:
设定优化等级。如果 -O 没有被专门设定, 那么如果没有设定 -g ,则默认等级为1,反之为0。如果你设定了一个不被 –O 支持的数字,则优化等级被设为2.优化等级与他们的含义如下:
0 A basic block is generated for each C statement. No scheduling is done between statements. No global optimizations are performed.
0 每个C语句都产生一个基本语句块。不对语句块的顺序重新排列。不进行全局优化。
1 Scheduling within extended basic blocks is performed. Some register allocation is performed. No global optimizations are performed.
1 执行扩展的基本语句块内的重排。某些寄存器被分配以使用。不进行全局优化。
2 All level 1 optimizations are performed. In addition, traditional scalar optimizations such as induction recognition and loop invariant motion are performed by the global optimizer.
执行所有的1级优化。此外,传统的“标量优化”,例如“诱发识别”和“循环不变”等通过全局优化实现。
3 All level 1 and 2 optimizations are performed. In addition, this level enables more
aggressive code hoisting and scalar replacement optimizations that may or may not be profitable.
执行所有的1级和2级优化。此外,这个等级允许更多的、不知是否合适的积极的代码优化和标量取代优化被执行。
4 All level 1,2and 3 optimizations are performed. In addition, hoisting of guarded
invariant floating point expressions is enabled.
执行所有的1,2和3级优化。此外,这个等级允许对对浮点数表达式的优化。
bigbang
10楼2014-09-26 10:35:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 txcokokok 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 博士后创新人才支持计划公示 +7 aishida144 2024-06-14 9/450 2024-06-14 11:21 by msjy
[基金申请] 博后面上今天有bug可以看到是否资助? +18 lyfbangong 2024-06-12 29/1450 2024-06-14 11:04 by 秘蓝123
[硕博家园] 关于硕博连读的一些疑问? +3 Lwenter 2024-06-14 3/150 2024-06-14 10:32 by Jin柚子
[基金申请] 75批博后基金 +10 kyukitu 2024-06-13 13/650 2024-06-14 10:31 by kyukitu
[基金申请] 为什么我的博后基金还在流动站审核中?不会是学院给我卡了吧? +10 王凯12 2024-06-13 21/1050 2024-06-14 10:04 by kyukitu
[论文投稿] 投了一篇4区的SCI,审稿人一个拒稿,一个小修,编辑给了大修。 +6 安稳22123 2024-06-13 7/350 2024-06-14 09:57 by xubo7
[论文投稿] ACS Nano投稿后分配到副编辑手里12天了,能确定送审了吗? +5 潇洒怡惜 2024-06-12 10/500 2024-06-14 09:56 by 潇洒怡惜
[找工作] 江西双非一本和四川双一流高校如何选择? 5+5 寒山敲钟 2024-06-12 17/850 2024-06-14 09:09 by 复仇的匹诺曹
[论文投稿] 文章proof要求使用机构的邮箱 5+3 不可不信缘 2024-06-11 11/550 2024-06-14 07:00 by 3001160025
[食品] 食品博士导师 +5 小李醒yy 2024-06-11 7/350 2024-06-13 22:37 by 小李醒yy
[基金申请] 博士后面上项目状态还是专家评审吗 10+9 Thatcheremu 2024-06-13 55/2750 2024-06-13 21:23 by 乌合麒麟
[硕博家园] 机械研究生如何拿到年薪40+w +13 阿巴阿巴哦哦 2024-06-11 15/750 2024-06-13 15:40 by 113745685
[有机交流] 原料反应完了,怎么知道是产物还是中间体 +6 小胡在努力 2024-06-11 8/400 2024-06-13 13:33 by 091602
[硕博家园] 考博应该从哪里开始准备 +6 亮姐2019 2024-06-11 8/400 2024-06-13 12:53 by 帕秋莉GO
[找工作] 今年的就业形势真的很差吗 +13 215747018 2024-06-07 14/700 2024-06-13 11:26 by wenwen0825
[找工作] 成都产品质量检测研究院 200+3 鲸鱼663 2024-06-11 8/400 2024-06-13 08:10 by 加纳居士
[考研] 物理化学一对一辅导 +3 林大diao 2024-06-12 4/200 2024-06-13 08:09 by 化院大男孩
[硕博家园] 迷茫的毕业季 +7 独孤老狗 2024-06-08 7/350 2024-06-12 19:13 by 投必得科研顾问
[硕博家园] 这样的课题组值得去吗 +11 hyeooon 2024-06-07 11/550 2024-06-12 16:04 by time998877
[硕博家园] 申博 +3 悦悦小小鱼 2024-06-12 3/150 2024-06-12 15:11 by chen5805
信息提示
请填处理意见