Move dispatch id patch to proper util func in utils. Enable in rocprofv2 post-processing
Signed-off-by: coleramos425 <colramos@amd.com>
[ROCm/rocprofiler-compute commit: e0556f32ab]
Этот коммит содержится в:
коммит произвёл
Cole Ramos
родитель
22b596dc32
Коммит
55ebe7059c
@@ -24,7 +24,12 @@
|
||||
|
||||
import os
|
||||
from omniperf_profile.profiler_base import OmniProfiler_Base
|
||||
from utils.utils import demarcate, console_log, replace_timestamps
|
||||
from utils.utils import (
|
||||
demarcate,
|
||||
console_log,
|
||||
replace_timestamps,
|
||||
fixup_rocprofv2_dispatch_ids,
|
||||
)
|
||||
|
||||
|
||||
class rocprof_v2_profiler(OmniProfiler_Base):
|
||||
@@ -74,22 +79,6 @@ 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."""
|
||||
@@ -98,5 +87,7 @@ class rocprof_v2_profiler(OmniProfiler_Base):
|
||||
if self.ready_to_profile:
|
||||
# Manually join each pmc_perf*.csv output
|
||||
self.join_prof()
|
||||
# Correct dispatch ids
|
||||
fixup_rocprofv2_dispatch_ids(self.get_args().path)
|
||||
# Replace timestamp data to solve a known rocprof bug
|
||||
replace_timestamps(self.get_args().path)
|
||||
|
||||
@@ -613,3 +613,16 @@ def set_locale_encoding():
|
||||
exit=False,
|
||||
)
|
||||
console_error(error)
|
||||
|
||||
|
||||
def fixup_rocprofv2_dispatch_ids(workload_dir):
|
||||
# Workaround for rocprofv2 using 1-based dispatch indicies
|
||||
# first read pmc_perf
|
||||
df = pd.read_csv(workload_dir + "/pmc_perf.csv")
|
||||
df["Dispatch_ID"] -= 1
|
||||
df.to_csv(workload_dir + "/pmc_perf.csv", index=False)
|
||||
# next glob for *LEVEL*.csv
|
||||
for f in glob.glob(workload_dir + "/*LEVEL*.csv"):
|
||||
df = pd.read_csv(f)
|
||||
df["Dispatch_ID"] -= 1
|
||||
df.to_csv(f, index=False)
|
||||
|
||||
Ссылка в новой задаче
Block a user