From 29b13643de7158159e21fc110f245abce710198f Mon Sep 17 00:00:00 2001
From: Rafael Ravedutti <rafaelravedutti@gmail.com>
Date: Sat, 25 Nov 2023 02:02:13 +0100
Subject: [PATCH] Enable likwid

Signed-off-by: Rafael Ravedutti <rafaelravedutti@gmail.com>
---
 Makefile           | 18 ++++++++++++------
 runtime/timers.hpp |  6 +++++-
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index e083715..e8cf23e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,16 @@
 .PHONY: all build clean
 
-TESTCASE=dem
+TESTCASE=lj
 PYCMD=python3
-CC=mpicxx
+#CC=icc
+CC=mpiicc
 NVCC=nvcc
 NVCC_PATH:="$(shell which ${NVCC})"
+LIKWID_INC ?= -I/usr/local/include
+LIKWID_DEFINES ?= -DLIKWID_PERFMON
+LIKWID_LIB ?= -L/usr/local/lib
+LIKWID_FLAGS = -llikwid ${LIKWID_INC} ${LIKWID_DEFINES} ${LIKWID_LIB}
+CFLAGS=-Ofast -xCORE-AVX512 -qopt-zmm-usage=high ${LIKWID_FLAGS}
 CUDA_BIN_PATH:="$(shell dirname ${NVCC_PATH})"
 CUDA_PATH:="$(shell dirname ${CUDA_BIN_PATH})"
 OBJ_PATH=obj
@@ -33,22 +39,22 @@ $(GPU_SRC):
 	$(PYCMD) examples/$(TESTCASE).py gpu
 
 $(OBJ_PATH)/pairs.o: runtime/pairs.cpp
-	$(CC) -c -o $@ $< $(DEBUG_FLAGS)
+	$(CC) $(CFLAGS) -c -o $@ $< $(DEBUG_FLAGS)
 
 $(OBJ_PATH)/regular_6d_stencil.o: runtime/domain/regular_6d_stencil.cpp
-	$(CC) -c -o $@ $< $(DEBUG_FLAGS)
+	$(CC) $(CFLAGS) -c -o $@ $< $(DEBUG_FLAGS)
 
 $(OBJ_PATH)/dummy.o: runtime/devices/dummy.cpp
 	$(CC) -c -o $@ $< $(DEBUG_FLAGS)
 
 # Targets
 $(CPU_BIN): $(CPU_SRC) $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o $(OBJ_PATH)/dummy.o
-	$(CC) -O3 -o $(CPU_BIN) $(CPU_SRC) $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o $(OBJ_PATH)/dummy.o ${DEBUG_FLAGS}
+	$(CC) $(CFLAGS) -o $(CPU_BIN) $(CPU_SRC) $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o $(OBJ_PATH)/dummy.o $(DEBUG_FLAGS)
 
 $(GPU_BIN): $(GPU_SRC) $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o 
 	$(NVCC) -c -o $(OBJ_PATH)/cuda_runtime.o runtime/devices/cuda.cu ${DEBUG_FLAGS}
 	$(NVCC) -c -o $(OBJ_PATH)/$(GPU_BIN).o $(GPU_SRC) -DDEBUG
-	$(CC) -o $(GPU_BIN) $(OBJ_PATH)/$(GPU_BIN).o $(OBJ_PATH)/cuda_runtime.o $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o -lcudart -L$(CUDA_PATH)/lib64
+	$(CC) -o $(CFLAGS) $(GPU_BIN) $(OBJ_PATH)/$(GPU_BIN).o $(OBJ_PATH)/cuda_runtime.o $(OBJ_PATH)/pairs.o $(OBJ_PATH)/regular_6d_stencil.o -lcudart -L$(CUDA_PATH)/lib64
 
 clean:
 	@echo "Cleaning..."
diff --git a/runtime/timers.hpp b/runtime/timers.hpp
index 62d5f65..0205892 100644
--- a/runtime/timers.hpp
+++ b/runtime/timers.hpp
@@ -53,7 +53,11 @@ public:
                 categorySums["neighbors"] += counterValue;
 
             } else {
-                categorySums[counterName] += counterValue;
+                if(counterName.length() > 0) {
+                    categorySums[counterName] += counterValue;
+                } else {
+                    categorySums["other"] += counterValue;
+                }
             }
         }
 
-- 
GitLab