24小时热门版块排行榜    

查看: 1976  |  回复: 16
当前主题已经存档。

anvier

木虫 (正式写手)

[交流] 【求助】双核单机VASP并行安装(有效期2009.1.1)

以下是我安装VASP的全过程,请高手指点哪里出问题了。
当前是双核CPU,单机,SUSE 10的32位系统。

1.已成功安装好intel fortran 9.1.036和intel MKL 8.1.1数学库;
放置路径为:/opt/intel/fc/9.1.036/和/opt/intel/mkl/8.1.1/。
并已设置好环境变量,通过$LD_LIBRARY_PATH命令查看结果为:
linux-a86d:~ # $LD_LIBRARY_PATH
bash: /opt/intel/mkl/8.1.1/lib/32:/opt/intel/fc/9.1.036/lib: No such file or directory
linux-a86d:~ #

2.下载mpich-1.2.7p1,并安装。
使用命令tar xzvf mpich.tar.gz 来解压它。 得到mpich-1.2.7p1目录。
进入该目录,以此使用下面的命令:
a) ./configure  --prefix=/usr/local/mpich -rsh=ssh  --with-cflags=-O \
-f90="ifc -FR -lowercase"  --with-f77flags=-O --without-romio -fc=ifc
b) make
c)改用root帐号,进入改目录进行安装。
make install
则把mpich安装到/usr/local/mpich目录。

3.设置与mpich有关的环境变量
在主目录下把下面的几行加入.bash_profile文件中
export PATH=$PATH:/usr/local/mpich/bin
export MPI_USEP4SSPORT=yes
export MPI_P4SSPORT=22
export P4_RSHCOMMAND=ssh
然后采用下面的命令更新该文件
source /.bash_profile

4.采用mpif90来编译vasp
a)进入vasp.4.lib目录中,把 makefile.linux_ifc_P4 拷贝成makefile(cp makefile.linux_ifc_P4 makefile)。
键入make命令,开始编译得到libdmy.a
b)进入vasp.4.6目录中,把makefile.linux_ifc_P4拷贝成makefile
把第50行的FC=ifc前加上注释号,也就是#
第80行至82行的CPP有关内容加上注释号,改成下面的
#CPP     = $(CPP_)  -DHOST=\"LinuxIFC\" \
#          -Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \
#          -DRPROMU_DGEMV  -DRACCMU_DGEMV
把第136行的BLAS改成
BLAS=  -L/opt/intel/mkl/8.1.1/lib/32 -lmkl_p4 -lsvml -lvml -lguide -lpthread
把第166行和167行有关FFT3D的行前加上注释号,如下面的
#FFT3D   = fft3dfurth.o fft3dlib.o
#FFT3D   = fftw3d.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a
把202行和203行的FC等改为如下的内容:
FC=mpif90
FCL=$(FC)
把212行有关CPP的行前的注释号去掉,改成如下的内容:
CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC\" -DIFC \
         -Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \
         -DMPI_BLOCK=500  \
         -DRPROMU_DGEMV  -DRACCMU_DGEMV
把226和227行有关SCA的行,加上注释号,改成如下的
#SCA= $(SCA_)/libscalapack.a  \
#$(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacs        F77init_MPI-LINUX-0.a
表示不用scalapack库。
把239和243行有关FFT3D的行,改成如下的内容:
# FFT: fftmpi.o with fft3dlib of Juergen Furthmueller
FFT3D   = fftmpi.o fftmpi_map.o fft3dlib.o

# fftw.3.0.1 is slighly faster and should be used if available
#FFT3D   = fftmpiw.o fftmpi_map.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a
把这些都修改后,保存。
(以上过程都十分顺利地完成了。 )
再make。
然后就出现以下的错误,
linux-a86d:/tmp/vasp.4.6 # make
./preprocess fftmpi.f90 -DMPI  -DHOST=\"LinuxIFC\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV  -DRACCMU_DGEMV -DMPI_BLOCK=1000
mpif90 -FR -lowercase  -O3 -xW -tpp7  -c fftmpi.f90
make: mpif90: Command not found
make: *** [fftmpi.o] Error 127
linux-a86d:/tmp/vasp.4.6 #

[ Last edited by wuchenwf on 2009-6-22 at 21:40 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hym5701

木虫 (小有名气)

★ ★ ★
fegg7502(金币+3,VIP+0):thanks
双核单机VASP并行安装没做过,也不知道,但是看你的错误提示,好像是说你的mpi没装好,要么就是你fortran没装好,你最好首先确认这2个都没问题。
2楼2008-12-15 23:47:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anvier

木虫 (正式写手)

Fortran肯定是已成功安装的了,因为串行版的VASP都可以工作了
但那个MPIf90,就不知道是怎么回事了,应该怎么去看呢?请高手指点
3楼2008-12-16 08:47:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

superest

金虫 (小有名气)

★ ★
wuli8(金币+2,VIP+0):感谢您的交流!(*^__^*) ……
just type  mpif90
4楼2008-12-16 08:52:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

veryman

木虫 (正式写手)

$_$

★ ★ ★
wuli8(金币+3,VIP+0):感谢您的交流!(*^__^*) ……
并行安装的时候串行的cpp不要注释掉,不然会出错,我用的机器是这样的。

还有貌似的你mpif90没有添加到系统的$PATH中。

[ Last edited by veryman on 2008-12-16 at 10:21 ]
5楼2008-12-16 10:19:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wgpig

木虫 (小有名气)

★ ★
wuli8(金币+2,VIP+0):(*^__^*)
引用回帖:
然后就出现以下的错误,
linux-a86d:/tmp/vasp.4.6 # make
./preprocess fftmpi.f90 -DMPI  -DHOST=\"LinuxIFC\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV  -DRACCMU_DGEMV -DMPI_BLOCK=1000
mpif90 -FR -lowercase  -O3 -xW -tpp7  -c fftmpi.f90
make: mpif90: Command not found
make: *** [fftmpi.o] Error 127
linux-a86d:/tmp/vasp.4.6 #

很明显,是你的MPI没有装好。
确保你的MPI的例子能够测试通过先。
6楼2008-12-16 10:54:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anvier

木虫 (正式写手)

引用回帖:
Originally posted by veryman at 2008-12-16 10:19:
并行安装的时候串行的cpp不要注释掉,不然会出错,我用的机器是这样的。

还有貌似的你mpif90没有添加到系统的$PATH中。

[ Last edited by veryman on 2008-12-16 at 10:21 ]

在主目录下把下面的几行加入.bash_profile文件中
export PATH=$PATH:/usr/local/mpich/bin
export MPI_USEP4SSPORT=yes
export MPI_P4SSPORT=22
export P4_RSHCOMMAND=ssh
然后采用下面的命令更新该文件
source /.bash_profile

不就是应该这样添加的吗?
那该如何处理呢?
7楼2008-12-16 11:28:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

veryman

木虫 (正式写手)

$_$

★ ★
wuli8(金币+2,VIP+0):(*^__^*)
suse没有用过,不知道它和其它linux是不是有什么不一样的。按照这几步做正常来说应该是可以的。
楼主可是直接在随便一个目录下输入mpif90看看提示什么,按照第一贴说的,应该就是mpif90: Command not found。
你可以试着看看输入/usr/local/mpich/bin/mpif90看看,如果有这个命令的话,给楼主两个比较土的方法,可能可行。
1.把/usr/local/mpich/bin/下的所有文件拷到/bin/下
2.在makefile中把FC=mpif90改成FC=/usr/local/mpich/bin/mpif90
PS:两个不要一起用,还有可不可行我没试过。
8楼2008-12-16 11:50:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wgpig

木虫 (小有名气)

★ ★
wuli8(金币+1,VIP+0):(*^__^*)
wuchenwf(金币+1,VIP+0):xiexie讨论

新手不会用更简单,更实用的
Intel.Cluster.Toolkit.Compiler.Edition
么?
包括了C,fortran,MKL,MPI全套工具。
9楼2008-12-16 14:21:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anvier

木虫 (正式写手)

还是没解决,请大家多指点啊
10楼2008-12-18 08:30:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 anvier 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见