VASP 6.2 compilation with OpenACC GPU port

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Message
Author
henrique_miranda
Global Moderator
Global Moderator
Posts: 474
Joined: Mon Nov 04, 2019 12:41 pm
Contact:

Re: VASP 6.2 compilation with OpenACC GPU port

#16 Post by henrique_miranda » Sun Aug 08, 2021 8:53 pm

Could you indicate from where you took the "makefile.include" you are using from?
It seems to me that something is wrong with it.
You wrote that you want an ACC+OPENMP compilation but the -D_OPENMP preprocessor option is not set.

Have a look a the makefile we have on our wiki:
wiki/index.php/Makefile.include_nv_acc%2Bomp%2Bmkl

david_keller
Newbie
Newbie
Posts: 21
Joined: Tue Jan 12, 2021 3:17 pm

Re: VASP 6.2 compilation with OpenACC GPU port

#17 Post by david_keller » Mon Aug 09, 2021 5:12 pm

This problem has been resolved.
Thanks,
Dave

ctetsass
Newbie
Newbie
Posts: 3
Joined: Tue Jul 27, 2021 1:00 pm

Re: VASP 6.2 compilation with OpenACC GPU port

#18 Post by ctetsass » Tue Aug 31, 2021 1:56 pm

I got it from the vasp wiki web site.


I still not able to compile vasp and here is the error.

I have enclosed the "makefile.include" let me know if something is wrong

Code: Select all

pif90 -acc -gpu=cc60,cc70,cc75,cc80,cuda11.4 -mp -Mfree -Mbackslash -Mlarge_arrays -fast -I/opt/nvidia/hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/include/qd   -I/usr/include   -c tutor.f90
NVFORTRAN-F-0004-Unable to open MODULE file base.mod (string.F: 6)
NVFORTRAN/x86-64 Linux 21.7-0: compilation aborted
make[2]: *** [makefile:181: string.o] Error 2
make[2]: *** Waiting for unfinished jobs....
NVFORTRAN-F-0004-Unable to open MODULE file string.mod (tutor.F: 202)
NVFORTRAN/x86-64 Linux 21.7-0: compilation aborted
make[2]: *** [makefile:181: tutor.o] Error 2
make[2]: Leaving directory '/home/ctetsass/Programs/vasp/6.2.1/build/gpu'
cp: cannot stat 'vasp': No such file or directory
make[1]: *** [makefile:146: all] Error 1
make[1]: Leaving directory '/home/ctetsass/Programs/vasp/6.2.1/build/gpu'
make: *** [makefile:17: gpu] Error 2

Code: Select all

# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxPGI\" \
             -DMPI -DMPI_BLOCK=8000 -DMPI_INPLACE -Duse_collective \
             -DscaLAPACK \
             -DCACHE_SIZE=4000 \
             -Davoidalloc \
             -Dvasp6 \
             -Duse_bse_te \
             -Dtbdyn \
             -Dqd_emulate \
             -Dfock_dblbuf \
             -D_OPENACC \
             -DUSENCCL -DUSENCCLP2P

CPP        = nvfortran -Mpreprocess -Mfree -Mextend -E $(CPP_OPTIONS) $*$(FUFFIX)  > $*$(SUFFIX)

FC         = mpif90 -acc -gpu=cc60,cc70,cc75,cc80,cuda11.4 -mp
FCL        = mpif90 -acc -gpu=cc60,cc70,cc75,cc80,cuda11.4 -c++libs -mp


FREE       = -Mfree

FFLAGS     = -Mbackslash -Mlarge_arrays

OFLAG      = -fast

DEBUG      = -Mfree -O0 -traceback

# Specify your NV HPC-SDK installation, try to set NVROOT automatically
#NVROOT     =$(shell which nvfortran | awk -F /compilers/bin/nvfortran '{ print $$1 }')
# ...or set NVROOT manually
#NVHPC      ?= /opt/nvidia/hpc_sdk
#NVVERSION  = 21.7
NVROOT     = /opt/nvidia/hpc_sdk/Linux_x86_64/21.7 #$(NVHPC)/Linux_x86_64/$(NVVERSION)

# Use NV HPC-SDK provided BLAS and LAPACK libraries
LIBDIR     = /opt/nvidia/hpc_sdk/Linux_x86_64/21.7/math_libs/lib64/
BLAS       = -L$(LIBDIR) -lblas
LAPACK     = -L$(LIBDIR) -llapack

BLACS      =

SCALAPACK  =  -L$(LIBDIR) -lscalapack #-Mscalapack

CUDA       = -cudalib=cublas,cusolver,cufft,nccl -cuda

LLIBS      = $(SCALAPACK) $(LAPACK) $(BLAS) $(CUDA)

# Software emulation of quadruple precsion
QD         = /opt/nvidia/hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd
LLIBS      += -L/opt/nvidia/hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/lib -lqdmod -lqd #  -L$(QD)/lib -lqdmod -lqd
INCS       += -I/opt/nvidia/hpc_sdk/Linux_x86_64/21.7/compilers/extras/qd/include/qd  #-I$(QD)/include/qd

# Use the FFTs from fftw
#FFTW       ?= /opt/intel/oneapi/mkl/2021.3.0/include/fftw #/opt/gnu/fftw-3.3.6-pl2-GNU-5.4.0
#LLIBS      += -L #   -L$(FFTW)/lib -lfftw3
INCS       +=  -I/usr/include #-I$(FFTW)/include

OBJECTS    = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o

# Redefine the standard list of O1 and O2 objects
SOURCE_O1  := pade_fit.o
SOURCE_O2  := pead.o

# For what used to be vasp.5.lib
CPP_LIB    = $(CPP)
FC_LIB     = nvfortran
CC_LIB     = nvc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1 -Mfixed
FREE_LIB   = $(FREE)

OBJECTS_LIB= linpack_double.o getshmem.o

# For the parser library
CXX_PARS   = nvc++ --no_warnings


# Normally no need to change this
SRCDIR     = ../../src
BINDIR     = ../../bin
 

henrique_miranda
Global Moderator
Global Moderator
Posts: 474
Joined: Mon Nov 04, 2019 12:41 pm
Contact:

Re: VASP 6.2 compilation with OpenACC GPU port

#19 Post by henrique_miranda » Mon Nov 22, 2021 7:18 am

I am not able to find the 'makefile.include' in the post.
Are you sure you attached it?

What command did you use to run the make?

david_keller
Newbie
Newbie
Posts: 21
Joined: Tue Jan 12, 2021 3:17 pm

Re: VASP 6.2 compilation with OpenACC GPU port

#20 Post by david_keller » Mon Nov 22, 2021 1:30 pm

This matter has been resolved and the issue should be closed.
Than you for the help.
Dave

Locked