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."""