vasp 5.2编译方法

原创 2010年06月28日 13:43:00

1 编译openmpi


下载 http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.2.tar.bz2
$tar xjvf openmpi-1.4.2.tar.bz2
$cd openmpi-1.4.2
$./configure --prefix=/opt/openmpi CC=icc F77=ifort FC=ifort CXX=icpc
$make
$make install
$vi ~/.bashrc

 

#--- for openmpi
MPI=/opt/openmpi
export MPI
PATH=$PATH:$MPI/bin
export PATH
MPI_LIB=$MPI/lib
MPI_INCLUDE=$MPI/include
export MPI_LIB
export MPI_INCLUDE


重新登录或者source ~/.bashrc

 

2 编译fftw 3.2.2库


$./configure -prefix=/opt/mathlibs/fftw/3.2.2
$make
$make install
$make clean
$./configure -prefix=/opt/mathlibs/fftw/3.2.2 -enable-shared
$make
$make install
$make clean
$./configure -prefix=/opt/mathlibs/fftw/3.2.2 -enable-float
$make
$make install
$make clean
$./configure -prefix=/opt/mathlibs/fftw/3.2.2 -enable-float -enable-shared
$make
$make install

 

3 编译libdmy.a


$cp makefile.linux_ifc_P4 Makefile
$vi Makefile

修改下面的内容
将FC=ifc修改为FC=ifort
增加CC=icc

$make

完成后即可获得libdmy.a文件

 

4 编译MKL fftw库(可选)


$cd /opt/intel/mkl/10.2.2.025/interfaces/fftw3xf
$make libem64t compiler=intel
$cp libfftw3xf_intel.a ../../lib/em64t

 

5 编译VASP


串行部分

增加下面2行
MKLINCLUDE=/opt/intel/mkl/10.2.2.25/include/
MKLPATH=/opt/intel/mkl/10.2.2.25/lib/em64t/

将BLAS行和LAPACK行注释,并添加BLASLAPACK
BLASLAPACK=-L/opt/intel/mkl/10.2.2.25/lib/em64t/ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread


fftw采用自带的库或者fftw3.2.2库
FFT3D   = fft3dfurth.o fft3dlib.o
或者
FFT3D   = fftw3d.o fft3dlib.o   /opt/mathlibs/fftw/3.2.2/lib/libfftw3.a


并行部分

取消注释下面部分
FC=mpif90
FCL=$(FC)


BLACS和SCA库
BLACS=-L/opt/intel/mkl/10.2.2.025/lib/em64t/ -wl,--start-group $(MKLPATH)/libmkl_blacs_openmpi_lp64.a --end-group -liomp5 -lpthread
SCA=-L/opt/intel/mkl/10.2.2.025/lib/em64t -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_scalapack_lp64 -lmkl_lapack -liomp5 -lpthread

 

取消注释下面部分
CPP  = $(CPP_) -DMPI  -DHOST=/"LinuxIFC/" -DIFC /
     -Dkind8 -DNGZhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc /
     -DMPI_BLOCK=500  /
     -DRPROMU_DGEMV  -DRACCMU_DGEMV

 

fftw采用fftw3.2.2库或者用MKL自带的库
FFT3D = fftmpi.o fftmpi_map.o fft3dlib.o  /opt/mathlibs/fftw/3.2.2/lib/libfftw3.a
或者
FFT3D= fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/intel/mkl/10.2.2.025/lib/em64t/libfftw3xf_intel.a


拷贝fftw3.f到当前目录
$cp /opt/mathlibs/fftw/3.2.2/include/fftw3.f .

$make

 

如果没有出现error则会在当前目录生成可执行文件vasp
如果修改了Makefile,运行make clean后需要重新拷贝fftw3.f到当前目录

 

错误1:
pead.o: In function `pead_mp_calc_polarization_':
pead.f90:(.text+0x18122): undefined reference to `zgeco_'
pead.f90:(.text+0x18183): undefined reference to `zgedi_'

解决:
错误原因: 缺少linpack_double.o。如下
加上最后一行即可

LIB = -I$(MKLINCLUDE) -L$(MKLPATH) /
-L../vasp.5.lib -ldmy /
$(BLASLAPACK) /
../vasp.5.lib/linpack_double.o


错误2:
fftmpiw.o: In function `fftmakeplan_mpi_':

fftmpiw.f90:(.text+0xa4c): undefined reference to `fftmakeplan_'

fftmpiw.o: In function `fftini_mpi_':

fftmpiw.f90:(.text+0xa9d): undefined reference to `fftini_'

 

解决:

错误原因 ,5.2 makefile 中并行部分的 FFT3D 中缺少一个 .o 文件 , 补上即可。

FFT3D= fftmpiw.o fftmpi_map.o fft3dlib.o /opt/intel/mkl/10.2.1.017/lib/em64t/libfftw3xf_intel.

修改为

FFT3D= fftmpiw.o fftmpi_map.o fftw3d.o  fft3dlib.o /opt/intel/mkl/10.2.1.017/lib/em64t/libfftw3
xf_intel.a 

 

参考:


http://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-using-intel-mkl-in-vasp

http://qingyan1971.spaces.live.com/blog/cns!90DC91975FC440F6!432.entry
http://blog.163.com/wangle_xq/blog/static/1302592200961025431681/

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/linfengfeiye/archive/2010/06/28/5699176.aspx

使用适配器模式设计RMI方式的网络应用程序

 使用适配器模式设计RMI方式的网络应用程序为网络应用编写本地Java对象指南 简介:    使用Java的RMI方式编写基于网络的应用程序是非常简单的。然而,使用不是基于网络的类,而且还把它复杂化来...
  • wearebug
  • wearebug
  • 2002-04-01 09:31:00
  • 1141

VASP不同版本的安装方法

总结一下VASP安装过程,一来为将要或者还在为编译vasp痛苦的同志提供少许经验,二来为自己留个底。 系统:64位RedHat6.4 编译器:intel fortran和intel c++ ...
  • qium2014
  • qium2014
  • 2016-09-13 22:32:49
  • 4586

vasp 编译安装测试说明

科学计算软件编译安装方法说明 --- vasp 篇 (提供免费测试) vasp std soc ncl gam gpu NPAR 完全介绍   官网地址: http://www.vasp.at/ ...
  • sowhatgavin
  • sowhatgavin
  • 2017-04-23 12:05:13
  • 3199

vasp 编译

首先参考文章:http://blog.sciencenet.cn/blog-211012-593362.html  以及:http://bbs.csdn.net/topics/260015576 ...
  • donkeydog
  • donkeydog
  • 2015-08-24 11:57:46
  • 427

<em>VASP</em> 详细安装过程

<em>VASP</em> 材料计算模拟平台以下为12.04系统默认自带,建议检查,使用g++ -v之类的代码...<em>vasp</em>5.3的安装 <em>vasp</em> <em>编译</em>安装测试说明 linux ubuntu12.04 下的 <em>vasp</em> 5.2...
  • 2018年04月13日 00:00

第一原理电子结构计算程序<em>VASP</em>实用教程(原理、计算、应用)

<em>vasp</em> <em>编译</em>安装测试说明 <em>vasp</em>软件包 立即下载 上传者: peacethink 时间: 2017-03-11 综合评分: 0 积分/C币:3 <em>Vasp</em> 资源 立即下载 上传者: 159756852 时...
  • 2018年04月16日 00:00

简单组建linux集群及并行<em>编译vasp</em>过程

转贴——简单组建linux集群及并行<em>编译vasp</em>过程我们现在主要是用做高性能计算,下面就是我的集群的组建过程。 集群的硬件环境:做一个集群,节点机器的硬件最好相同,...
  • 2018年04月13日 00:00

Ubuntu16.04编译VASP5.4.1详细过程

本文所述环境为:vasp5.4.1+Ubuntu16.04 LTS(i386+amd64) +并行+ifort +intel MKL+openmpi。 ***注意***:在i386及amd64两系统...
  • qq_28849289
  • qq_28849289
  • 2018-01-28 19:16:12
  • 734

Infiniband的OFED package安装及vasp编译

基本上按照doc里面的指示就差不多了,这里记录一些细节: 1. 执行./install.sh之后不要急着开始, ctrl+C 取消之后编辑ofed.conf文件,把不需要的东西去掉(我安装的时候把mp...
  • feverforce
  • feverforce
  • 2011-05-19 16:37:00
  • 1356

vasp 5.2编译方法

本文介绍了如何用intel编译器和mkl库以及openmpi来编译vasp5.2. 其中fftw库可以采用fftw3.2.2或者mkl自带fftw库。 根据官方说法,串行版最快的是ifort+go...
  • linfengfeiye
  • linfengfeiye
  • 2010-06-28 13:43:00
  • 10816
收藏助手
不良信息举报
您举报文章:vasp 5.2编译方法
举报原因:
原因补充:

(最多只允许输入30个字)