Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1069222
  • 博文数量: 264
  • 博客积分: 7225
  • 博客等级: 少将
  • 技术积分: 5096
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-17 08:53
文章分类

全部博文(264)

文章存档

2011年(33)

2010年(52)

2009年(152)

2008年(27)

我的朋友

分类:

2008-12-22 20:27:30

转]ifc和mpich并行编译vasp
2005-4-8 19:00:00
发信人: valenhou (VASP&TranSIESTAC), 信区: Gaussian
标  题: ifc和mpich并行编译vasp(个人经验)
发信站: BBS 大话西游站 (Sat Jul 24 13:41:36 2004), 站内

我是在Redhat 7.3 和8.0的机器上,用ifc 6.01版本,mpich-1.2.5.2,编译vasp4.6版本。
BLAS:采用libgoto_p4_512-r0.94.so
LAPACK:采用vasp.4.lib中的lapack_double.o
大致步骤如下:
这里不再讲述ifc的安装,假设ifc已经安装好了。
1、下载mpich-1.2.5.2,并安装。
16x16500){this.resized=true;this.style.width=500;}" align=absMiddle border=0>下载。
使用命令tar xzvf mpich.tar.gz 来解压它。
得到mpich-1.2.5.2目录。
进入该目录,以此使用下面的命令:
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目录。

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

3、采用mpif90来编译vasp
这里假设把libgoto_p4_512-r0.94.so放在/usr/local/lib目录中。
a)进入vasp.4.lib目录中,把 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=  /opt/libs/libgoto/libgoto_p4_512-r0.6.so
该成如下的内容:
BLAS=  /usr/local/lib/libgoto_p4_512-r0.94.so
把第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。就好了。

阅读(1328) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~