summaryrefslogtreecommitdiff
path: root/SpMV/Makefile
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2023-06-02 15:29:25 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2023-06-02 15:29:25 +0200
commit39d1c972dcea37beca6e20be152a3da78143a7d3 (patch)
tree7ed0fbde0088a9d330da26db1f6890d903645529 /SpMV/Makefile
parentff9304370fdd94e9b7e4c4262c59ac734f1a28fd (diff)
port SpMV to dfatool; add benchmark scripts
Diffstat (limited to 'SpMV/Makefile')
-rw-r--r--SpMV/Makefile63
1 files changed, 25 insertions, 38 deletions
diff --git a/SpMV/Makefile b/SpMV/Makefile
index e517524..0e7a70c 100644
--- a/SpMV/Makefile
+++ b/SpMV/Makefile
@@ -1,30 +1,11 @@
-DPU_DIR := dpu
-HOST_DIR := host
-CPU_BASE_DIR := baselines/cpu
-GPU_BASE_DIR := baselines/gpu
-BUILDDIR ?= bin
NR_TASKLETS ?= 16
NR_DPUS ?= 1
-define conf_filename
- ${BUILDDIR}/.NR_DPUS_$(1)_NR_TASKLETS_$(2).conf
-endef
-CONF := $(call conf_filename,${NR_DPUS},${NR_TASKLETS})
-
-HOST_TARGET := ${BUILDDIR}/host_code
-DPU_TARGET := ${BUILDDIR}/dpu_code
-CPU_BASE_TARGET := ${BUILDDIR}/cpu_baseline
-GPU_BASE_TARGET := ${BUILDDIR}/gpu_baseline
-
COMMON_INCLUDES := support
-HOST_SOURCES := $(wildcard ${HOST_DIR}/*.c)
-DPU_SOURCES := $(wildcard ${DPU_DIR}/*.c)
-CPU_BASE_SOURCES := $(wildcard ${CPU_BASE_DIR}/*.c)
-GPU_BASE_SOURCES := $(wildcard ${GPU_BASE_DIR}/*.cu)
-
-.PHONY: all clean test
-
-__dirs := $(shell mkdir -p ${BUILDDIR})
+HOST_SOURCES := $(wildcard host/*.c)
+DPU_SOURCES := $(wildcard dpu/*.c)
+CPU_BASE_SOURCES := $(wildcard baselines/cpu/*.c)
+GPU_BASE_SOURCES := $(wildcard baselines/gpu/*.cu)
COMMON_FLAGS := -Wall -Wextra -g -I${COMMON_INCLUDES}
HOST_FLAGS := ${COMMON_FLAGS} -std=c11 -O3 `dpu-pkg-config --cflags --libs dpu` -DNR_TASKLETS=${NR_TASKLETS} -DNR_DPUS=${NR_DPUS}
@@ -32,29 +13,35 @@ DPU_FLAGS := ${COMMON_FLAGS} -O2 -DNR_TASKLETS=${NR_TASKLETS}
CPU_BASE_FLAGS := -O3 -fopenmp
GPU_BASE_FLAGS := -O3
-all: ${HOST_TARGET} ${DPU_TARGET} ${CPU_BASE_TARGET}
+QUIET = @
+
+ifdef verbose
+ QUIET =
+endif
-gpu: ${GPU_BASE_TARGET}
+all: bin/host_code bin/dpu_code
-${CONF}:
- $(RM) $(call conf_filename,*,*)
- touch ${CONF}
+bin:
+ ${QUIET}mkdir -p bin
-${HOST_TARGET}: ${HOST_SOURCES} ${COMMON_INCLUDES} ${CONF}
- $(CC) -o $@ ${HOST_SOURCES} ${HOST_FLAGS}
+gpu: bin/gpu_baseline
-${DPU_TARGET}: ${DPU_SOURCES} ${COMMON_INCLUDES} ${CONF}
- dpu-upmem-dpurte-clang ${DPU_FLAGS} -o $@ ${DPU_SOURCES}
+bin/host_code: ${HOST_SOURCES} ${COMMON_INCLUDES} bin
+ ${QUIET}${CC} -o $@ ${HOST_SOURCES} ${HOST_FLAGS}
-${CPU_BASE_TARGET}: ${CPU_BASE_SOURCES}
- $(CC) -o $@ ${CPU_BASE_SOURCES} ${CPU_BASE_FLAGS}
+bin/dpu_code: ${DPU_SOURCES} ${COMMON_INCLUDES} bin
+ ${QUIET}dpu-upmem-dpurte-clang ${DPU_FLAGS} -o $@ ${DPU_SOURCES}
-${GPU_BASE_TARGET}: ${GPU_BASE_SOURCES}
- nvcc -o $@ ${GPU_BASE_SOURCES} ${GPU_BASE_FLAGS}
+bin/cpu_baseline: ${CPU_BASE_SOURCES}
+ ${QUIET}${CC} -o $@ ${CPU_BASE_SOURCES} ${CPU_BASE_FLAGS}
+
+bin/gpu_baseline: ${GPU_BASE_SOURCES}
+ ${QUIET}nvcc -o $@ ${GPU_BASE_SOURCES} ${GPU_BASE_FLAGS}
clean:
- $(RM) -r $(BUILDDIR)
+ ${QUIET}rm -rf bin
test: all
- ./${HOST_TARGET}
+ ${QUIET}bin/host_code
+.PHONY: all clean test