From dc98091e4c0ea63d5081600de3bd0edadefc6a70 Mon Sep 17 00:00:00 2001 From: Georges Da Costa <dacosta@irit.fr> Date: Tue, 4 Mar 2025 17:07:04 +0100 Subject: [PATCH] Adds GPU monitor to mojitO/S plugin Closes #4 --- expetator/monitors/mojitos.py | 11 ++++++++--- setup.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/expetator/monitors/mojitos.py b/expetator/monitors/mojitos.py index a47b6ca..f5f8a36 100644 --- a/expetator/monitors/mojitos.py +++ b/expetator/monitors/mojitos.py @@ -28,16 +28,18 @@ perf_names = {'cpu_cycles', 'instructions', 'cache_references', 'cache_misses', 'cpu_clock', 'task_clock', 'page_faults', 'context_switches', 'cpu_migrations', 'page_faults_min', 'page_faults_maj', 'alignment_faults', 'emulation_faults', 'dummy', 'bpf_output'} +gpu_names = {'gpu'} def get_names(): - return network_names | rapl_names | load_names | perf_names | infiniband_names + return network_names | rapl_names | load_names | perf_names | infiniband_names | gpu_names def get_structured_names(): return {'network':network_names, 'rapl':rapl_names, 'load':load_names, 'perfct':perf_names, - 'infiniband': infiniband_names} + 'infiniband': infiniband_names, + 'gpu': gpu_names} class Mojitos: 'Monitoring using MojitO/S' @@ -48,7 +50,8 @@ class Mojitos: self.rapl = len(sensor_set & rapl_names) != 0 self.load = len(sensor_set & load_names) != 0 self.infiniband = len(sensor_set & infiniband_names) != 0 - + self.gpu = len(sensor_set & gpu_names) != 0 + self.executor = None self.names = sensor_set @@ -94,6 +97,8 @@ class Mojitos: self.cmdline += ' -r' if self.load: self.cmdline += ' -u' + if self.gpu: + self.cmdline += ' -n' self.monitoring_file = '%s/monitoring_moj' % executor.tmp_dir self.cmdline += ' -o %s &' % self.monitoring_file diff --git a/setup.py b/setup.py index 67653d4..912eb00 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="expetator", - version="0.3.24", + version="0.3.25", author="Georges Da Costa", author_email="georges.da-costa@irit.fr", description="A framework for monitoring HPC applications using DVFS", -- GitLab