刚刚接触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 ] |