Vasp 5.2.2 Keeps crashing free(): invalid next size (fast)
Posted: Tue May 05, 2009 9:54 am
Good Day,
I am having problems getting Vasp 5.2.2 to work. I am compiling with PGI 8.0.5 and have experienced the same crash using standalone pgf90 and openmpi. (I have previously compiled and run Vasp 4.6 with no errors)
The program compiles without errors but then crashes before the first iteration.
The make file used is:
Any suggestions on changes I need to make to get it run correctly?
I am having problems getting Vasp 5.2.2 to work. I am compiling with PGI 8.0.5 and have experienced the same crash using standalone pgf90 and openmpi. (I have previously compiled and run Vasp 4.6 with no errors)
The program compiles without errors but then crashes before the first iteration.
Code: Select all
$Â ~/install/vasp/vasp.5.2/vaspÂ
 vasp.5.2.2 15Apr09 complexÂ
 POSCAR found :  1 types and   64 ions
 -----------------------------------------------------------------------------Â
|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â |
|Â Â ADVICEÂ TOÂ THISÂ USERÂ RUNNINGÂ 'VASP/VAMP'Â Â Â (HEARÂ YOURÂ MASTER'SÂ VOICEÂ ...):Â Â |
|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â |
|      You have a (more or less) 'large supercell' and for larger cells       |
|      it might be more efficient to use real space projection operators      |
|      So try LREAL= Auto  in the INCAR   file.                               |
|      Mind: If you want to do a very accurate calculations keep the          |
|      reciprocal projection scheme          (i.e. LREAL=.FALSE.)             |
|Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â |
 -----------------------------------------------------------------------------Â
 LDA part: xc-table for Pade appr. of Perdew
 POSCAR, INCAR and KPOINTS ok, starting setup
 WARNING: small aliasing (wrap around) errors must be expected
 FFT: planning ...(            1 )
 reading WAVECAR
 entering main loop
       N       E                     dE             d eps       ncg     rms          rms(c)
*** glibc detected *** /home/ruddj/install/vasp/vasp.5.2/vasp: free(): invalid next size (fast): 0x0000000011be6b00 ***
=======Â Backtrace:Â =========
/lib64/libc.so.6[0x3e9f671684]
/lib64/libc.so.6(cfree+0x8c)[0x3e9f674ccc]
/home/ruddj/install/vasp/vasp.5.2/vasp[0x53f0b3]
======= Memory map: ========
00400000-0099f000 r-xp 00000000 00:17 1802245                            /home/ruddj/install/vasp/vasp.5.2/vasp
00b9f000-00bf8000 rwxp 0059f000 00:17 1802245                            /home/ruddj/install/vasp/vasp.5.2/vasp
00bf8000-01068000 rwxp 00bf8000 00:00 0Â
11be1000-122c0000 rwxp 11be1000 00:00 0Â
3e9f200000-3e9f21a000 r-xp 00000000 08:01 392729                         /lib64/ld-2.5.so
3e9f41a000-3e9f41b000 r-xp 0001a000 08:01 392729                         /lib64/ld-2.5.so
3e9f41b000-3e9f41c000 rwxp 0001b000 08:01 392729                         /lib64/ld-2.5.so
3e9f600000-3e9f74a000 r-xp 00000000 08:01 392730                         /lib64/libc-2.5.so
3e9f74a000-3e9f949000 ---p 0014a000 08:01 392730                         /lib64/libc-2.5.so
3e9f949000-3e9f94d000 r-xp 00149000 08:01 392730                         /lib64/libc-2.5.so
3e9f94d000-3e9f94e000 rwxp 0014d000 08:01 392730                         /lib64/libc-2.5.so
3e9f94e000-3e9f953000 rwxp 3e9f94e000 00:00 0Â
3ea0600000-3ea0615000 r-xp 00000000 08:01 392735                         /lib64/libpthread-2.5.so
3ea0615000-3ea0814000 ---p 00015000 08:01 392735                         /lib64/libpthread-2.5.so
3ea0814000-3ea0815000 r-xp 00014000 08:01 392735                         /lib64/libpthread-2.5.so
3ea0815000-3ea0816000 rwxp 00015000 08:01 392735                         /lib64/libpthread-2.5.so
3ea0816000-3ea081a000 rwxp 3ea0816000 00:00 0Â
3ea0a00000-3ea0a82000 r-xp 00000000 08:01 392500                         /lib64/libm-2.5.so
3ea0a82000-3ea0c81000 ---p 00082000 08:01 392500                         /lib64/libm-2.5.so
3ea0c81000-3ea0c82000 r-xp 00081000 08:01 392500                         /lib64/libm-2.5.so
3ea0c82000-3ea0c83000 rwxp 00082000 08:01 392500                         /lib64/libm-2.5.so
3ea1200000-3ea1207000 r-xp 00000000 08:01 392736                         /lib64/librt-2.5.so
3ea1207000-3ea1407000 ---p 00007000 08:01 392736                         /lib64/librt-2.5.so
3ea1407000-3ea1408000 r-xp 00007000 08:01 392736                         /lib64/librt-2.5.so
3ea1408000-3ea1409000 rwxp 00008000 08:01 392736                         /lib64/librt-2.5.so
3ea2200000-3ea220d000 r-xp 00000000 08:01 392740                         /lib64/libgcc_s-4.1.2-20080102.so.1
3ea220d000-3ea240d000 ---p 0000d000 08:01 392740                         /lib64/libgcc_s-4.1.2-20080102.so.1
3ea240d000-3ea240e000 rwxp 0000d000 08:01 392740                         /lib64/libgcc_s-4.1.2-20080102.so.1
2b89a40ae000-2b89a40b4000 rwxp 2b89a40ae000 00:00 0Â
2b89a40b8000-2b89a98aa000 rwxp 2b89a40b8000 00:00 0Â
2b89ac000000-2b89ac021000 rwxp 2b89ac000000 00:00 0Â
2b89ac021000-2b89b0000000 ---p 2b89ac021000 00:00 0Â
7fff069e6000-7fff069fc000 rwxp 7fff069e6000 00:00 0                      [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vdso]
Aborted
Code: Select all
.SUFFIXES: .inc .f .f90 .F
#-----------------------------------------------------------------------
# Makefile for Portland Group F90/HPF compiler release 3.0-1, 3.1
# and release 1.7
# (http://www.pgroup.com/ & ftp://ftp.pgroup.com/x86/, you need
#  to order the HPF/F90 suite)
#  we have found no noticable performance differences betweenÂ
#  any of the releases, even Athlon or PIII optimisation does
#  not seem to improve performance
#
# The makefile was tested only under Linux on Intel platforms
# (Suse X,X)
#
# it might be required to change some of library pathes, since
# LINUX installation vary a lot
# Hence check ***ALL**** options in this makefile very carefully
#-----------------------------------------------------------------------
#
# Mind that some Linux distributions (Suse 6.1) have a bug inÂ
# libm causing small errors in the error-function (total energy
# is therefore wrong by about 1meV/atom). The recommended
# solution is to update libc.
#
# Mind that some Linux distributions (Suse 6.1) have a bug in
# libm causing small errors in the error-function (total energy
# is therefore wrong by about 1meV/atom). The recommended
# solution is to update libc.
#
# BLAS must be installed on the machine
# there are several options:
# 1) very slow but works:
#   retrieve the lapackage from ftp.netlib.org
#   and compile the blas routines (BLAS/SRC directory)
#   please use g77 or f77 for the compilation. When I tried to
#   use pgf77 or pgf90 for BLAS, VASP hang up when calling
#   ZHEEV  (however this was with lapack 1.1 now I use lapack 2.0)
# 2) most desirable: get an optimized BLAS
#   for a list of optimized BLAS try
#Â Â Â Â Â http://www.kachinatech.com/~hjjou/scilib/opt_blas.html
#
# the two most reliable packages around are presently:
# 3a) Intels own optimised BLAS (PIII, P4, Itanium)
#Â Â Â Â Â http://developer.intel.com/software/products/mkl/
#   this is really excellent when you use Intel CPU's
#
# 3b) or obtain the atlas based BLAS routines
#Â Â Â Â Â http://math-atlas.sourceforge.net/
#   you certainly need atlas on the Athlon, since the  mkl
#   routines are not optimal on the Athlon.
#
#-----------------------------------------------------------------------
# all CPP processed fortran files have the extension .fÂ
SUFFIX=.f
#-----------------------------------------------------------------------
# fortran compiler and linker
#-----------------------------------------------------------------------
FC=pgf90
# fortran linker
FCL=$(FC)
#-----------------------------------------------------------------------
# whereis CPP ?? (I need CPP, can't use gcc with proper options)
# that's the location of gcc for SUSE 5.3
#
#  CPP_   =  /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -P -CÂ
#
# that's probably the right line for some Red Hat distribution:
#
#  CPP_   =  /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C
#
#  SUSE 6.X, maybe some Red Hat distributions:
CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)
#-----------------------------------------------------------------------
# possible options for CPP:
# possible options for CPP:
# NGXhalf             charge density   reduced in X direction
# wNGXhalf            gamma point only reduced in X direction
# avoidalloc          avoid ALLOCATE if possible
# IFC                 work around some IFC bugs
# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000 P4
# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (usually  faster)
# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (faster on P4)
#  **** definitely use -DRACCMU_DGEMV if you use the mkl library
#-----------------------------------------------------------------------
CPPÂ Â Â Â =Â $(CPP_)Â -DHOST=\"LinuxPgi\"Â \
          -Dkind8 -DNGXhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \
          -DRPROMU_DGEMV Â
#-----------------------------------------------------------------------
# general fortran flags  (there must a trailing blank on this line)
# the -Mx,119,0x200000 is required if you use older pgf90 versions
# on a more recent LINUX installation
# the option will not do any harm on other 3.X pgf90 distributions
#-----------------------------------------------------------------------
FFLAGS =  -Mfree -Mx,119,0x200000 Â
#-----------------------------------------------------------------------
#Â optimization,
# we have tested whether higher optimisation improves
# the performance, and found no improvements with -O3-5 or -fast
# (even on Athlon system, Athlon specific optimistation worsens performance)
#-----------------------------------------------------------------------
OFLAG  = -O2  -tp k8-64Â
OFLAG_HIGHÂ =Â $(OFLAG)
OBJ_HIGHÂ =Â
OBJ_NOOPTÂ =Â
DEBUG  = -g -O0
INLINEÂ =Â $(OFLAG)
#-----------------------------------------------------------------------
# the following lines specify the position of BLAS  and LAPACK
# what you chose is very system dependent
# P4: VASP works fastest with Intels mkl performance library
# Athlon: Atlas based BLAS are presently the fastest
# P3: no clue
#-----------------------------------------------------------------------
# Atlas based libraries
#ATLASHOME=Â $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONXP_SSE1/
#BLAS=   -L$(ATLASHOME)  -lf77blas -latlas
BLAS=Â Â Â -lacml
# use specific libraries (default library path points to other libraries)
#BLAS= $(ATLASHOME)/libf77blas.a $(ATLASHOME)/libatlas.a
# use the mkl Intel libraries for p4 (www.intel.com)
#BLAS=-L/opt/intel/mkl/lib/32Â -lmkl_p4Â Â -lpthread
# LAPACK, simplest use vasp.5.lib/lapack_double
#LAPACK=Â ../vasp.5.lib/lapack_double.o
# use atlas optimized part of lapack
LAPACK= ../vasp.5.lib/lapack_atlas.o  -llapack -lblas -lacml
# use the mkl Intel lapack
#LAPACK=Â -lmkl_lapack
#-----------------------------------------------------------------------
LIB  = -L../vasp.5.lib -ldmy \
     ../vasp.5.lib/linpack_double.o $(LAPACK) \
     $(BLAS)
# options for linking (none required)
LINKÂ Â Â Â =Â
#-----------------------------------------------------------------------
# fft libraries:
# VASP.4.5 can use FFTW (http://www.fftw.org)
# since the FFTW is very slow for radices 2^n the fft3dlib is used
# in these cases
# if you use fftw3d you need to insert -lfftw in the LIB line as well
# please do not send us any querries reltated to FFTW (no support)
# if it fails, use fft3dlib
#-----------------------------------------------------------------------
FFT3D   = fft3dfurth.o fft3dlib.o
#FFT3D   = fftw3d+furth.o fft3dlib.o
#=======================================================================
# MPI section, uncomment the following lines
#Â
# one comment for users of mpich or lam:
# You must *not* compile mpi with g77/f77, because f77/g77            Â
# appends *two* underscores to symbols that contain already an       Â
# underscore (i.e. MPI_SEND becomes mpi_send__).  The pgf90
# compiler however appends only one underscore.
# Precompiled mpi version will also not work !!!
#
# We found that mpich.1.2.1 and lam-6.5.X are stable
# mpich.1.2.1 was configured withÂ
#  ./configure -prefix=/usr/local/mpich_nodvdbg -fc="pgf77 -Mx,119,0x200000"  \
#Â -f90="pgf90Â -Mx,119,0x200000"Â \
# --without-romio --without-mpe -opt=-O \
#Â
# lam was configured with the line
#  ./configure  -prefix /usr/local/lam-6.5.X --with-cflags=-O -with-fc=pgf90 \
#Â --with-f77flags=-OÂ --without-romio
#Â
# lam was generally faster and we found an average communication
# band with of roughly 160 MBit/s (full duplex)
#
# please note that you might be able to use a lam or mpich versionÂ
# compiled with f77/g77, but then you need to add the following
# options: -Msecond_underscore (compilation) and -g77libs (linking)
#
# !!! Please do not send me any queries on how to install MPI, I will
# certainly not answer them !!!!
#=======================================================================
#-----------------------------------------------------------------------
# fortran linker for mpi: if you use LAM and compiled it with the options
# suggested above,  you can use the following lines
#-----------------------------------------------------------------------
#FC=mpif77
#FCL=$(FC)
#-----------------------------------------------------------------------
# additional options for CPP in parallel version (see also above):
# NGZhalf               charge density   reduced in Z direction
# wNGZhalf              gamma point only reduced in Z direction
# scaLAPACK             use scaLAPACK (usually slower on 100 Mbit Net)
#-----------------------------------------------------------------------
#CPPÂ Â Â Â =Â $(CPP_)Â -DMPIÂ Â -DHOST=\"LinuxPgi\"Â \
#     -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMVÂ
#-----------------------------------------------------------------------
# location of SCALAPACK
# if you do not use SCALAPACK simply uncomment the line SCA
#-----------------------------------------------------------------------
#BLACS=/usr/local/BLACS_lam
#SCA_=Â /usr/local/SCALAPACK_lam
#SCA= $(SCA_)/scalapack_LINUX.a $(SCA_)/pblas_LINUX.a $(SCA_)/tools_LINUX.a \
# $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a
SCA=
#-----------------------------------------------------------------------
# libraries for mpi
#-----------------------------------------------------------------------
#LIB     = -L../vasp.5.lib -ldmy  \
#      ../vasp.5.lib/linpack_double.o $(LAPACK) \
#Â Â Â Â Â Â $(SCA)Â $(BLAS)
# FFT: only option  fftmpi.o with fft3dlib of Juergen Furthmueller
#FFT3D   = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.oÂ
#-----------------------------------------------------------------------
# general rules and compile lines
#-----------------------------------------------------------------------
BASIC=   symmetry.o symlib.o   lattlib.o  random.o  Â
SOURCE=  base.o     mpi.o      smart_allocate.o      xml.o  \
         constant.o jacobi.o   main_mpi.o  scala.o   \
         asa.o      lattice.o  poscar.o   ini.o       xclib.o     xclib_grad.o \
         radial.o   pseudo.o   mgrid.o    gridq.o     ebs.o  \
         mkpoints.o wave.o     wave_mpi.o  wave_high.o  \
         $(BASIC)   nonl.o     nonlr.o    nonl_high.o dfast.o    choleski2.o \
         mix.o      hamil.o    xcgrad.o   xcspin.o    potex1.o   potex2.o  \
         metagga.o constrmag.o cl_shift.o relativistic.o LDApU.o \
         paw_base.o egrad.o    pawsym.o   pawfock.o  pawlhf.o    paw.o   \
         mkpoints_full.o       charge.o   dipol.o    pot.o  \
         dos.o      elf.o      tet.o      tetweight.o hamil_rot.o \
         steep.o    chain.o    dyna.o     sphpro.o    us.o  core_rel.o \
         aedens.o   wavpre.o   wavpre_noio.o broyden.o \
         dynbr.o    rmm-diis.o reader.o   writer.o   tutor.o xml_writer.o \
         brent.o    stufak.o   fileio.o   opergrid.o stepver.o  \
         chgloc.o   fast_aug.o fock.o     mkpoints_change.o sym_grad.o \
         mymath.o   internals.o dimer_heyden.o dvvtrajectory.o vdwforcefield.o \
         hamil_high.o nmr.o    force.o \
         pead.o     subrot.o   subrot_scf.o pwlhf.o  gw_model.o optreal.o   davidson.o \
         electron.o rot.o  electron_all.o shm.o    pardens.o  paircorrection.o \
         optics.o   constr_cell_relax.o   stm.o    finite_diff.o elpol.o    \
         hamil_lr.o rmm-diis_lr.o  subrot_cluster.o subrot_lr.o \
         lr_helper.o hamil_lrf.o   elinear_response.o ilinear_response.o \
         linear_optics.o linear_response.o   \
         setlocalpp.o  wannier.o electron_OEP.o electron_lhf.o twoelectron4o.o \
         ratpol.o screened_2e.o wave_cacher.o chi_base.o wpot.o local_field.o \
         ump2.o bse.o acfdt.o chi.o sydmat.oÂ
INC=
vasp:Â $(SOURCE)Â $(FFT3D)Â $(INC)Â main.oÂ
rm -f vasp
$(FCL) -o vasp main.o  $(SOURCE)   $(FFT3D) $(LIB) $(LINK)
makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)
$(FCL) -o makeparam  $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)
zgemmtest: zgemmtest.o base.o random.o $(INC)
$(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)
dgemmtest: dgemmtest.o base.o random.o $(INC)
$(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB)Â
ffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC)
$(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB)
kpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC)
$(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)
clean:
-rm -f *.g *.f *.o *.L *.mod ; touch *.F
main.o:Â main$(SUFFIX)
$(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c main$(SUFFIX)
xcgrad.o:Â xcgrad$(SUFFIX)
$(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcgrad$(SUFFIX)
xcspin.o:Â xcspin$(SUFFIX)
$(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcspin$(SUFFIX)
makeparam.o:Â makeparam$(SUFFIX)
$(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c makeparam$(SUFFIX)
makeparam$(SUFFIX):Â makeparam.FÂ main.FÂ
#
# MIND: I do not have a full dependency list for the include
# and MODULES: here are only the minimal basic dependencies
# if one strucuture is changed then touch_dep must be called
# with the corresponding name of the structure
#
base.o: base.inc base.F
mgrid.o: mgrid.inc mgrid.F
constant.o: constant.inc constant.F
lattice.o: lattice.inc lattice.F
setex.o: setexm.inc setex.F
pseudo.o: pseudo.inc pseudo.F
poscar.o: poscar.inc poscar.F
mkpoints.o: mkpoints.inc mkpoints.F
wave.o: wave.inc wave.F
nonl.o: nonl.inc nonl.F
nonlr.o: nonlr.inc nonlr.F
$(OBJ_HIGH):
$(CPP)
$(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX)
$(OBJ_NOOPT):
$(CPP)
$(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX)
fft3dlib_f77.o:Â fft3dlib_f77.F
$(CPP)
$(F77) $(FFLAGS_F77) -c $*$(SUFFIX)
.F.o:
$(CPP)
$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)
.F$(SUFFIX):
$(CPP)
$(SUFFIX).o:
$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)