VASP Guide

From Storrs HPC Wiki
Revision as of 09:40, 21 July 2017 by Lwm14001 (talk | contribs) (Running with SLURM: Should be 1 not 0, else they all bind to the same core)
Jump to: navigation, search

Ownership

The VASP is purchased by Dr. Avinash M. Dongare and Dr. Serge Nakhmanson. If you need the usage of VASP, please contact them first to get the permissions.

VASP Invocation

Create a file called try.bat with different nodes. The try.bat code is available in the following Example of try.bat


Invoke try.bat through sbatch

 sbatch try.bat

Running with SLURM

Login to the Sandy Bridge nodes.

$ ssh <yourNetID>@login3.storrs.hpc.uconn.edu

Load the proper versions of VASP. For details, please read the following sections.

Example of try.bat

#!/bin/bash

#SBATCH -p SandyBridge
#SBATCH -n 4
#SBATCH -o ./%J.out


# execute program
mpirun -env MV2_ENABLE_AFFINITY 1  vasp  2>&1

Stable Version with Intel 14

Module required

intelics/2013.1.039-compiler
zlib/1.2.8-ics
mpi/mvapich2/2.0a-ics
vasp/5.3.3

The command for loading the module:

module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3

vasp gamma

vasp-gamma

This is compiled with the parameters: "-DNGZhalf -DwNGZhalf"

ERROR for Module

Loading ERROR

If you get following kind of ERRORs:

mpi/mvapich2/2.0a-ics(4):ERROR:151: Module 'mpi/mvapich2/2.0a-ics' depends on one of the module(s) 'intelics/2013.1.039-compiler'
mpi/mvapich2/2.0a-ics(4):ERROR:102: Tcl command execution failed: prereq intelics/2013.1.039-compiler

Or

/apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpirun: line 96: 
/apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/mpirt/bin/intel64/mpivars.sh: No such file or directory

please unload the dependent modules and load the vasp again. Make sure that the order of the modules is the same as:

$ module unload intelics zlib mpi
$ module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3
$ module list
1) modules                                      3) zlib/1.2.8-ics          5) vasp/5.3.3  
2) intelics/2013.1.039-compiler                 4) mpi/mvapich2/2.0a-ics

Missing intelics libraries

Sometimes, the module does not work well with the intelics. If the following command doesn't work:

vasp: error while loading shared libraries: libifport.so.5: cannot open shared object file: No such file or directory

Please try to reload the intelics module:

$ module unload intelics
$ module load intelics/2013.1.039-compiler
$ ldd /apps/vasp/5.3.3/vasp
       linux-vdso.so.1 =>  (0x00007fff32dfd000)
       libpthread.so.0 => /lib64/libpthread.so.0 (0x00000032e6e00000)
       libmpichf90.so.10 => /apps/mvapich2/2.0a-ics/lib/libmpichf90.so.10 (0x00002b7d252fe000)
       libmpich.so.10 => /apps/mvapich2/2.0a-ics/lib/libmpich.so.10 (0x00002b7d25501000)
       libopa.so.1 => /apps/mvapich2/2.0a-ics/lib/libopa.so.1 (0x00002b7d25a30000)
       libmpl.so.1 => /apps/mvapich2/2.0a-ics/lib/libmpl.so.1 (0x00002b7d25c31000)
       libibmad.so.5 => /usr/lib64/libibmad.so.5 (0x000000305e600000)
       librdmacm.so.1 => /usr/lib64/librdmacm.so.1 (0x000000305ee00000)
       libibumad.so.3 => /usr/lib64/libibumad.so.3 (0x000000305ea00000)
       libibverbs.so.1 => /usr/lib64/libibverbs.so.1 (0x00002b7d25e38000)
       librt.so.1 => /lib64/librt.so.1 (0x00000032e7a00000)
       libifport.so.5 => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libifport.so.5 (0x00002b7d26046000)
       libifcore.so.5 => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libifcore.so.5 (0x00002b7d26276000)
       libimf.so => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libimf.so (0x00002b7d265b7000)
       libsvml.so => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libsvml.so (0x00002b7d26a75000)
       libm.so.6 => /lib64/libm.so.6 (0x00000032e7200000)
       libintlc.so.5 => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libintlc.so.5 (0x00002b7d274d1000)
       libc.so.6 => /lib64/libc.so.6 (0x00000032e6600000)
       /lib64/ld-linux-x86-64.so.2 (0x00000032e6200000)
       libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003994800000)
       libdl.so.2 => /lib64/libdl.so.2 (0x00000032e6a00000)
       libirng.so => /apps/intelics/2013.1.039/composer_xe_2013_sp1.0.080/compiler/lib/intel64/libirng.so (0x00002b7d27729000)

Stable Version with Intel 12

Module requred

mkl
mpi/openmpi/1.4.4-ics

The command for loading the module:

module load vasp/5.3.3-mkl

Revised Version

vasp/5.3.3-no12

Revised source code

File constr_cell_relax.F and file constr_cell_relax.f90 are revised as:

         !save1=fcell(1,1)
          !save2=fcell(2,2)
           save3=fcell(3,3)
                fcell=0.0d0
                 !fcell(1,1)=save1
                  !fcell(2,2)=save2
                   fcell(3,3)=save3

Module Loading with Intel 14

Load the same module as stable version

module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3

But run the different binary:

vasp-no12

Module Loading with Intel 12

Load the following modules:

module load mkl openmpi/1.4.4-ics vasp/5.3.3-mkl-no12

vasp/5.3.3-no3

Revised source code

File constr_cell_relax.F and file constr_cell_relax.f90 are revised as:

         save1=fcell(1,1)
          save2=fcell(2,2)
           !save3=fcell(3,3)
                fcell=0.0d0
                 fcell(1,1)=save1
                  fcell(2,2)=save2
                   !fcell(3,3)=save3

Module Loading with Intel 14

Load the same module as stable version

module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3

But run the different binary:

vasp-no3

Module Loading with Intel 12

module load mkl mpi/openmpi/1.4.4-ics vasp/5.3.3-mkl-no3

vasp/5.3.3-all123

Revised source code

File constr_cell_relax.F and file constr_cell_relax.f90 are revised as:

         save1=fcell(1,1)
          save2=fcell(2,2)
           save3=fcell(3,3)
                fcell=0.0d0
                 fcell(1,1)=save1
                  fcell(2,2)=save2
                   fcell(3,3)=save3

Module Loading with Intel 14

Load the same module as stable version

module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3

But run the different binary:

vasp-all123

vasp/5.3.3-tst

Revised source code

File main.F, add following script at the head:

USE mbdrpro

Replaced

IF (IO%LORBIT>=10) THEN
     CALL SPHPRO_FAST( &
          GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
          INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, .TRUE., IO%LORBIT,PAR)

ELSE
     CALL SPHPRO( &
          GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
          INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, LTRUNC, IO%LORBIT,PAR)
ENDIF

with

! changed to calculate DOS projection in Bader volumes
! if ICHAIN=5, the DOS projection is done in Bader volumes
! for ICHAIN=5, only the l-projected DOS is calcualted in DOSCAR
! the PROCAR and PROOUT files are projections in VASP built-in spheric volumes
ICHAIN=0
CALL RDATAB(.TRUE.,'INCAR',IO%IU5,'ICHAIN','=','#',';','I', &
&            ICHAIN,RDUM,CDUM,LDUM,CHARAC,N,1,IERR)
IF (((IERR/=0).AND.(IERR/=3)).OR.((IERR==0).AND.(N<1))) THEN
  IF (IU0>=0) WRITE(IU0,*) "Error reading item ICHAIN from file INCAR."
  STOP
ENDIF

IF (IO%LORBIT>=10) THEN
  CALL SPHPRO_FAST( &
       GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
       INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, .TRUE., IO%LORBIT,PAR)
  IF (ICHAIN==5) THEN
    IO%LORBIT=IO%LORBIT-10
    CALL BDRPRO( &
         GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
         INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, 1, IO%LORBIT,PAR)
  END IF
ELSE
  CALL SPHPRO( &
       GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
       INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, LTRUNC, IO%LORBIT,PAR)
  IF (ICHAIN==5) THEN
    CALL BDRPRO( &
         GRID,LATT_CUR, P,T_INFO,W, WDES, 71,IO%IU6,&
         INFO%LOVERL,LMDIM,CQIJ, LPAR, LDIMP, LMDIMP, 1, IO%LORBIT,PAR)
  END IF
ENDIF

Replaced

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
     LATT_CUR%A,LATT_CUR%B,IO%IU6)

with

CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, &
     TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)

Revised the VASP_Makefile, replaced:

CPP_=fpp -f_com=no -free -w0 $*.F $*$(SUFFIX)

with

CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)

In the variable SOURCE, added following object files before chain.o:

         bfgs.o dynmat.o  instanton.o  lbfgs.o sd.o   cg.o dimer.o bbm.o \
         fire.o lanczos.o neb.o  qm.o opt.o \

added "bdrpro.o" after "sphpro.o"

Module Load

Load the same module as stable version

module load intelics/2013.1.039-compiler zlib/1.2.8-ics mpi/mvapich2/2.0a-ics vasp/5.3.3

But run the different binary:

vasp-tst

TST Scripts

The scripts of TST are also added into the stable version, you can issue these scripts directly. The system contains default perl V5.8.8 and default python V2.4.3 to run the scripts but you may want to load the newer versions of perl or python.

To load perl module:

module load perl/5.16.0

To load python module on the Westmere nodes:

module load python/3.3.2

To load python module on the Sandy Bridge nodes:

module load python/2.7.6-gcc

For more details about the scripts, please view the homepage:

Vasp TST Tools