VASP GPU compilation error

questions related to VASP with GPU support (vasp.5.4.1, version released in Feb 2016)

Moderators: Moderator, Global Moderator

VASP GPU compilation error

Postby tvruwink » Fri Sep 21, 2018 7:27 pm

Hi -
Trying to build Vasp 5.4.4 GPU version, and I'm running into compilation errors.

I was able to build the standard Vasp binaries no problem. This is on a CentOS7.5 box, with a NVIDIA Volta GPU. Drivers are v396.37

The error I am seeing when I run 'make gpu' is:
Code: Select all
...
Error: 'x' argument of 'c_sizeof' intrinsic at (1) must be an interoperable data entity
xclib_grad_gpu.f90:4079.46:

      call cublas_get_vector(NP, int(c_sizeof(DWORK(1)),c_int),  GPU_DWORK, 1,
                                              1
Error: 'x' argument of 'c_sizeof' intrinsic at (1) must be an interoperable data entity
make[2]: *** [xclib_grad_gpu.o] Error 1

I've got CUDA9.2 installed.

Makefile is
Code: Select all
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxGNU\" \
             -DMPI -DMPI_BLOCK=8000 \
             -Duse_collective \
             -DscaLAPACK \
             -DCACHE_SIZE=4000 \
             -Davoidalloc \
             -Duse_bse_te \
             -Dtbdyn \
             -Duse_shmem

CPP        = gcc -E -P -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)

FC         = mpif90
FCL        = mpif90

FREE       = -ffree-form -ffree-line-length-none

FFLAGS     = -w
OFLAG      = -O2
OFLAG_IN   = $(OFLAG)
DEBUG      = -O0

LIBDIR     = /software/OpenBLAS-2.19-cent7/lib
BLAS       = -L$(LIBDIR) -lopenblas
LAPACK     = -L$(LIBDIR) -llapack
BLACS      =
SCALAPACK  = -L/usr/local/lib -lscalapack $(BLACS)

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

# Wannier90
LLIBS      += /usr/local/lib/libwannier.a

FFTW       ?= /usr/local
LLIBS      += -L$(FFTW)/lib -lfftw3
INCS       = -I$(FFTW)/include

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

OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o

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

OBJECTS_LIB= linpack_double.o getshmem.o

# For the parser library
CXX_PARS   = g++

LIBS       += parser
LLIBS      += -Lparser -lparser -lstdc++

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


#================================================
# GPU Stuff

CPP_GPU    = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK

OBJECTS_GPU = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o

CC         = gcc
CXX        = g++

CFLAGS     = -fPIC -DADD_ -Wall -openmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS

CUDA_ROOT  ?= /usr/local/cuda
NVCC       := $(CUDA_ROOT)/bin/nvcc -ccbin=gcc
CUDA_LIB   := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas

GENCODE_ARCH    := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
                   -gencode=arch=compute_35,code=\"sm_35,compute_35\" \
                   -gencode=arch=compute_60,code=\"sm_60,compute_60\"

MPI_INC    = /software/openmpi-3.1.2/include
tvruwink
Newbie
Newbie
 
Posts: 1
Joined: Tue Aug 14, 2018 5:05 pm

Return to GPU

Who is online

Users browsing this forum: No registered users and 1 guest