From b59d1632802ea8375bdc2d9c03f7fa1821256b6b Mon Sep 17 00:00:00 2001 From: Hans Pabst Date: Fri, 15 Mar 2024 14:05:02 +0100 Subject: [PATCH] Legacy build_dbcsr cleanup (#3319) --- exts/build_dbcsr/Makefile | 51 +++++++++++--------------- src/f77_interface.F | 10 ++--- tools/toolchain/scripts/arch_base.tmpl | 1 - 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/exts/build_dbcsr/Makefile b/exts/build_dbcsr/Makefile index 0d68621059..3f96ab7e14 100644 --- a/exts/build_dbcsr/Makefile +++ b/exts/build_dbcsr/Makefile @@ -51,6 +51,7 @@ FYPPEXE := $(TOOLSDIR)/build_utils/fypp/bin/fypp SRCDIR := $(DBCSRHOME)/src TESTSDIR := $(DBCSRHOME)/tests ARCHFILE := +CXXSTD := -std=c++14 PYTHON := /usr/bin/env python3 @@ -103,25 +104,29 @@ endif # Set ACCFLAGS ============================================================== +# Adjust C++ standard level +override ACCFLAGS := $(CXXSTD) $(filter-out -std=c++11,$(ACCFLAGS)) + # If compiling with nvcc ifeq (cuda,$(USE_ACCEL)) - override ACCFLAGS += -D__CUDA - FCFLAGS += -D__CUDA - CXXFLAGS += -D__CUDA + override ACCFLAGS := -D__CUDA -DARCH_NUMBER=$(ARCH_NUMBER) $(filter-out -D__CUDA,$(ACCFLAGS)) + CXXFLAGS := -D__CUDA $(filter-out -D__CUDA,$(CXXFLAGS)) + FCFLAGS := -D__CUDA $(filter-out -D__CUDA,$(FCFLAGS)) #if "-arch" has not yet been set in ACCFLAGS ifeq (,$(findstring -arch,$(ACCFLAGS))) - override ACCFLAGS += -arch sm_$(ARCH_NUMBER) + override ACCFLAGS := -arch sm_$(ARCH_NUMBER) $(ACCFLAGS) endif ifeq (,$(findstring -Xcompiler,$(ACCFLAGS))) - override ACCFLAGS += -Xcompiler="$(CXXFLAGS)" + override ACCFLAGS := $(ACCFLAGS) -Xcompiler="$(CXXFLAGS)" endif # If compiling with hipcc else ifeq (hip,$(USE_ACCEL)) - override ACCFLAGS += -D__HIP - FCFLAGS += -D__HIP + override ACCFLAGS := -D__HIP -DARCH_NUMBER=$(ARCH_NUMBER) $(filter-out -D__HIP,$(ACCFLAGS)) + CXXFLAGS := -D__HIP $(filter-out -D__HIP,$(CXXFLAGS)) + FCFLAGS := -D__HIP $(filter-out -D__HIP,$(FCFLAGS)) # OpenCL backend else ifeq (opencl,$(USE_ACCEL)) - CFLAGS := $(if $(ACCFLAGS),$(ACCFLAGS),$(CFLAGS)) -D__OPENCL + CFLAGS := -D__OPENCL $(filter-out -D__OPENCL $(CXXSTD),$(if $(ACCFLAGS),$(ACCFLAGS),$(CFLAGS))) endif # Set the configuration ===================================================== @@ -261,41 +266,29 @@ FYPPFLAGS ?= -n %.o: %.c $(CC) -c $(CFLAGS) $< -# Compile the CUDA/HIP files ifneq ($(ACC),) +# if compiling CUDA/HIP backend ifneq (opencl,$(USE_ACCEL)) -%.o: %.cpp +%.o: %.cpp parameters.h smm_acc_kernels.h $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< -libsmm_acc.o: libsmm_acc.cpp parameters.h smm_acc_kernels.h - $(ACC) -c $(ACCFLAGS) -DARCH_NUMBER=$(ARCH_NUMBER) $< -libsmm_acc_benchmark.o: libsmm_acc_benchmark.cpp parameters.h - $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< -libsmm_acc_init.o: libsmm_acc_init.cpp libsmm_acc_init.h parameters.h - $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< -endif -endif - # if compiling CUDA backend -ifneq ($(ACC),) ifeq (cuda,$(USE_ACCEL)) -calculate_norms.o: calculate_norms.cpp - $(ACC) -x cu -c $(ACCFLAGS) -I'$(SRCDIR)' $< -%.o: %.cpp +%.o: %.cu parameters.h smm_acc_kernels.h $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< +calculate_norms.o: calculate_norms.cpp + $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' -x cu $< acc_cuda.o: acc_cuda.cpp acc_cuda.h $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< -%.o: %.cu - $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< # if compiling HIP backend -else ifeq (hip,$(USE_ACCEL)) +else calculate_norms.o: calculate_norms.cpp $(OFFLOAD_CC) -D__HIP -c $(OFFLOAD_FLAGS) -I'$(SRCDIR)' $< -%.o: %.cpp - $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< acc_hip.o: acc_hip.cpp acc_hip.h $(ACC) -c $(ACCFLAGS) -I'$(SRCDIR)' $< +endif + # if compiling OpenCL backend -else ifeq (opencl,$(USE_ACCEL)) +else OPENCL_KRNLGEN := $(LIBSMM_ACC_ABS_DIR)/../opencl/acc_opencl.sh OPENCL_KERNELS := $(wildcard $(LIBSMM_ACC_ABS_DIR)/../opencl/smm/kernels/*.cl) OPENCL_DEFAULT := $(wildcard $(LIBSMM_ACC_ABS_DIR)/../opencl/smm/tune_multiply.csv) diff --git a/src/f77_interface.F b/src/f77_interface.F index 392152d15d..af9d707305 100644 --- a/src/f77_interface.F +++ b/src/f77_interface.F @@ -331,20 +331,20 @@ CONTAINS END DO DEALLOCATE (f_envs) + ! Finalize libraries (Offload) CALL dbm_library_finalize() - CALL grid_library_finalize() - - ! Finalize the DBCSR configuration - CALL dbcsr_finalize_lib() CALL pw_gpu_finalize() + ! Finalize the DBCSR library + CALL dbcsr_finalize_lib() + CALL mp_para_env_release(default_para_env) ierr = 0 CALL cp_rm_default_logger() CALL cp_dlaf_finalize() - ! *** deallocate the bibliography *** + ! Deallocate the bibliography CALL remove_all_references() CALL rm_timer_env() CALL rm_mp_perf_env() diff --git a/tools/toolchain/scripts/arch_base.tmpl b/tools/toolchain/scripts/arch_base.tmpl index ddca384c15..bd250b252f 100644 --- a/tools/toolchain/scripts/arch_base.tmpl +++ b/tools/toolchain/scripts/arch_base.tmpl @@ -12,7 +12,6 @@ FCDEBFLAGS = ${FCDEBFLAGS} CFLAGS = ${CFLAGS} CXXFLAGS = ${CXXFLAGS} FCFLAGS = ${FCFLAGS} -CXXFLAGS = ${CXXFLAGS} # LDFLAGS = ${LDFLAGS} LDFLAGS_C = ${LDFLAGS_C}