mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-29 06:35:28 -04:00
Introducing new OFFLOAD_TARGET to controll cuda or hip backend in DBCSR (see https://github.com/cp2k/cp2k/pull/1582)
This commit is contained in:
parent
16e7279fad
commit
f1a4892f2e
3 changed files with 28 additions and 10 deletions
|
|
@ -19,6 +19,7 @@ GNU_PATH = /store/psi/psi01/mkrack/daint/gpu/gnu/8.3.0
|
|||
MPI_PATH = $(GNU_PATH)/mpich
|
||||
|
||||
GPUVER = P100
|
||||
OFFLOAD_TARGET = cuda
|
||||
|
||||
CC = cc
|
||||
CXX = CC
|
||||
|
|
|
|||
|
|
@ -7,12 +7,24 @@ EXTSDEPS_LIB = $(LIBEXTSDIR)/dbcsr/libdbcsr$(ARCHIVE_EXT)
|
|||
EXTSDEPS_MOD = $(OBJEXTSDIR)/dbcsr/dbcsr_api.mod $(OBJEXTSDIR)/dbcsr/dbcsr_tensor_api.mod
|
||||
$(EXTSDEPS_MOD) : ; # override builtin .mod rule to prevent circular dependency
|
||||
|
||||
# Set Acceleration flags
|
||||
DBCSR_USE_ACCEL := ""
|
||||
DBCSR_ACC := ""
|
||||
DBCSR_ACCFLAGS := ""
|
||||
ifneq (,$(findstring __DBCSR_ACC,$(OFFLOAD_FLAGS)))
|
||||
ACC := $(OFFLOAD_CC)
|
||||
ACCFLAGS := $(OFFLOAD_FLAGS)
|
||||
# By default, we use CUDA if OFFLOAD_TARGET is not specified
|
||||
ifeq (,$(OFFLOAD_TARGET))
|
||||
DBCSR_USE_ACCEL=cuda
|
||||
else
|
||||
ACC := ""
|
||||
ACCFLAGS := ""
|
||||
DBCSR_USE_ACCEL = $(OFFLOAD_TARGET)
|
||||
endif
|
||||
ifeq (cuda,$(DBCSR_USE_ACCEL))
|
||||
DBCSR_ACC := $(OFFLOAD_CC)
|
||||
DBCSR_ACCFLAGS := $(OFFLOAD_FLAGS)
|
||||
else ifeq (hip,$(DBCSR_USE_ACCEL))
|
||||
DBCSR_ACC := $(CXX)
|
||||
DBCSR_ACCFLAGS := $(CXXFLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
extversions: dbcsrversion
|
||||
|
|
@ -25,14 +37,16 @@ dbcsr:
|
|||
ARCHFILE=$(ARCHDIR)/$(ARCH).$(ONEVERSION) \
|
||||
LIBDIR=$(LIBEXTSDIR)/$@ \
|
||||
OBJDIR=$(OBJEXTSDIR)/$@ \
|
||||
ACC="$(ACC)" \
|
||||
ACCFLAGS="$(ACCFLAGS)"
|
||||
USE_ACCEL="$(DBCSR_USE_ACCEL)" \
|
||||
ACC="$(DBCSR_ACC)" \
|
||||
ACCFLAGS="$(DBCSR_ACCFLAGS)"
|
||||
|
||||
dbcsrversion:
|
||||
@$(MAKE) -C $(EXTSHOME)/dbcsr -f $(EXTSHOME)/build_dbcsr/Makefile \
|
||||
ARCHFILE=$(ARCHDIR)/$(ARCH).$(ONEVERSION) \
|
||||
ACC="$(ACC)" \
|
||||
ACCFLAGS="$(ACCFLAGS)" \
|
||||
USE_ACCEL="$(DBCSR_USE_ACCEL)" \
|
||||
ACC="$(DBCSR_ACC)" \
|
||||
ACCFLAGS="$(DBCSR_ACCFLAGS)" \
|
||||
version
|
||||
|
||||
dbcsrclean:
|
||||
|
|
@ -41,6 +55,7 @@ dbcsrclean:
|
|||
ARCHFILE=$(ARCHDIR)/$(ARCH).$(ONEVERSION) \
|
||||
LIBDIR=$(LIBEXTSDIR)/$@ \
|
||||
OBJDIR=$(OBJEXTSDIR)/$@ \
|
||||
ACC="$(ACC)" \
|
||||
ACCFLAGS="$(ACCFLAGS)" \
|
||||
USE_ACCEL="$(DBCSR_USE_ACCEL)" \
|
||||
ACC="$(DBCSR_ACC)" \
|
||||
ACCFLAGS="$(DBCSR_ACCFLAGS)" \
|
||||
clean
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@ gen_arch_file() {
|
|||
GPUVER = \${GPUVER}
|
||||
OFFLOAD_CC = \${NVCC}
|
||||
OFFLOAD_FLAGS = \${NVFLAGS}
|
||||
OFFLOAD_TARGET = cuda
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
|
@ -248,6 +249,7 @@ EOF
|
|||
GPUVER = \${GPUVER}
|
||||
OFFLOAD_CC = \${ROCM_PATH}/hip/bin/hipcc
|
||||
OFFLOAD_FLAGS = \${HIP_FLAGS} \${HIP_INCLUDES}
|
||||
OFFLOAD_TARGET = hip
|
||||
EOF
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue