From 59ac1236629e9d1d34226100bb0f53355db01984 Mon Sep 17 00:00:00 2001 From: Thomas Roehl Date: Thu, 25 Nov 2021 17:51:34 +0100 Subject: [PATCH] Add Makefile, update LIKWID Makefile and fix Github Action --- .github/workflows/runonce.yml | 5 ++++- collectors/Makefile | 38 +++++++++++++++++++---------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/.github/workflows/runonce.yml b/.github/workflows/runonce.yml index 67b1f0f..8b6c8ea 100644 --- a/.github/workflows/runonce.yml +++ b/.github/workflows/runonce.yml @@ -10,5 +10,8 @@ jobs: - name: Setup Golang uses: actions/setup-go@v2.1.4 + - name: Build MetricCollector + run: make + - name: Run MetricCollector - run: go run metric-collector.go --once + run: ./metric-collector --once diff --git a/collectors/Makefile b/collectors/Makefile index fe16876..ab47caa 100644 --- a/collectors/Makefile +++ b/collectors/Makefile @@ -1,20 +1,27 @@ # Use central installation -CENTRAL_INSTALL = true +CENTRAL_INSTALL = false +# How to access hardware performance counters through LIKWID. +# Recommended is 'direct' mode +ACCESSMODE = direct +####################################################################### +# if CENTRAL_INSTALL == true +####################################################################### # Path to central installation (if CENTRAL_INSTALL=true) LIKWID_BASE=/apps/likwid/5.2.0 # LIKWID version (should be same major version as central installation, 5.1.x) LIKWID_VERSION = 5.2.0 ####################################################################### -# if CENTRAL_INSTALL=false +# if CENTRAL_INSTALL == false and ACCESSMODE == accessdaemon ####################################################################### -# Target user for LIKWID's accessdaemon -DAEMON_USER=unrz139 -# Target group for LIKWID's accessdaemon -DAEMON_GROUP=unrz -# Folder for the group files -GROUP_FOLDER=/usr/local/share/likwid/perfgroups/ +# Where to install the accessdaemon +DAEMON_INSTALLDIR = /usr/local +# Which user to use for the accessdaemon +DAEMON_USER = root +# Which group to use for the accessdaemon +DAEMON_GROUP = root + ################################################# @@ -27,11 +34,10 @@ ifneq ($(strip $(CENTRAL_INSTALL)),true) LIKWID_BASE := $(shell pwd)/$(INSTALL_FOLDER) DAEMON_BASE := $(LIKWID_BASE) GROUPS_BASE := $(LIKWID_BASE)/groups -all: $(INSTALL_FOLDER)/liblikwid.a cleanup prepare_collector +all: $(INSTALL_FOLDER)/liblikwid.a cleanup else DAEMON_BASE= $(LIKWID_BASE)/sbin -GROUPS_BASE := $(LIKWID_BASE)/share/likwid/perfgroups -all: $(INSTALL_FOLDER)/liblikwid.a cleanup prepare_collector +all: $(INSTALL_FOLDER)/liblikwid.a cleanup endif @@ -51,19 +57,17 @@ $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION): $(BUILD_FOLDER)/likwid-$(LIKWID_VERSIO $(INSTALL_FOLDER)/liblikwid.a: $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION) $(INSTALL_FOLDER) sed -i -e s+"PREFIX ?= .*"+"PREFIX = $(LIKWID_BASE)"+g \ -e s+"SHARED_LIBRARY = .*"+"SHARED_LIBRARY = false"+g \ - -e s+"ACCESSMODE = .*"+"ACCESSMODE = accessdaemon"+g \ - -e s+"INSTALLED_ACCESSDAEMON = .*"+"INSTALLED_ACCESSDAEMON = $(DAEMON_BASE)/likwid-accessD"+g \ - -e s+"LIKWIDGROUPPATH = .*"+"LIKWIDGROUPPATH = $(GROUPS_BASE)"+g \ + -e s+"ACCESSMODE = .*"+"ACCESSMODE = $(ACCESSMODE)"+g \ + -e s+"INSTALLED_ACCESSDAEMON = .*"+"INSTALLED_ACCESSDAEMON = $(DAEMON_INSTALLDIR)/likwid-accessD"+g \ $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/config.mk cd $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION) && make cp $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/liblikwid.a $(INSTALL_FOLDER) cp $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/ext/hwloc/liblikwid-hwloc.a $(INSTALL_FOLDER) - cp -r $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/groups $(INSTALL_FOLDER) cp $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/src/includes/likwid*.h $(INSTALL_FOLDER) cp $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/src/includes/bstrlib.h $(INSTALL_FOLDER) -$(INSTALL_FOLDER)/likwid-accessD: $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/likwid-accessD - sudo -u $(DAEMON_USER) -g $(DAEMON_GROUP) install -m 4775 $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/likwid-accessD $(INSTALL_FOLDER) +$(DAEMON_INSTALLDIR)/likwid-accessD: $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/likwid-accessD + sudo -u $(DAEMON_USER) -g $(DAEMON_GROUP) install -m 4775 $(BUILD_FOLDER)/likwid-$(LIKWID_VERSION)/likwid-accessD $(DAEMON_INSTALLDIR)/likwid-accessD prepare_collector: likwidMetric.go cp likwidMetric.go likwidMetric.go.orig