From a1017b68e9c863f96c9a4386d37cc41b06248bc5 Mon Sep 17 00:00:00 2001 From: Nick Curtis <6463881+skyreflectedinmirrors@users.noreply.github.com> Date: Mon, 1 Apr 2024 14:33:39 -0400 Subject: [PATCH] implement rocprofv2 workaround for dispatch ids (#336) * implement rocprofv2 workaround for dispatch ids Signed-off-by: Nicholas Curtis * formatting Signed-off-by: Nicholas Curtis --------- Signed-off-by: Nicholas Curtis Co-authored-by: Nicholas Curtis --- src/omniperf_profile/profiler_rocprof_v2.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/omniperf_profile/profiler_rocprof_v2.py b/src/omniperf_profile/profiler_rocprof_v2.py index 9a41335035..65e6244256 100644 --- a/src/omniperf_profile/profiler_rocprof_v2.py +++ b/src/omniperf_profile/profiler_rocprof_v2.py @@ -74,6 +74,22 @@ class rocprof_v2_profiler(OmniProfiler_Base): else: console_log("roofline", "Detected existing pmc_perf.csv") + @demarcate + def fixup_rocprofv2_dispatch_ids(self): + # Workaround for rocprofv2 being silly and using 1-based dispatch indicies + import pandas as pd + import glob + + # first read pmc_perf + df = pd.read_csv(self.get_args().path + "/pmc_perf.csv") + df["Dispatch_ID"] -= 1 + df.to_csv(self.get_args().path + "/pmc_perf.csv", index=False) + # next glob for *LEVEL*.csv + for f in glob.glob(self.get_args().path + "/*LEVEL*.csv"): + df = pd.read_csv(f) + df["Dispatch_ID"] -= 1 + df.to_csv(f, index=False) + @demarcate def post_processing(self): """Perform any post-processing steps prior to profiling."""