diff --git a/projects/rocprofiler-compute/src/omniperf b/projects/rocprofiler-compute/src/omniperf
index 554e59a6e2..0c957b29ed 100755
--- a/projects/rocprofiler-compute/src/omniperf
+++ b/projects/rocprofiler-compute/src/omniperf
@@ -343,7 +343,7 @@ def characterize_app(path, cmd, verbose):
# Workload profiling
for fname in glob.glob(workload_dir + "/perfmon/*.txt"):
print(fname)
- run_prof(fname, workload_dir, perfmon_dir, app_cmd, verbose)
+ run_prof(fname, workload_dir, perfmon_dir, app_cmd, target, verbose)
# run again with timestamps
run_subprocess(
[
@@ -395,7 +395,7 @@ def run_rocscope(args, fname):
sys.exit(1)
-def run_prof(fname, workload_dir, perfmon_dir, cmd, verbose):
+def run_prof(fname, workload_dir, perfmon_dir, cmd, target, verbose):
global rocprof_cmd
fbase = os.path.splitext(os.path.basename(fname))[0]
@@ -403,19 +403,36 @@ def run_prof(fname, workload_dir, perfmon_dir, cmd, verbose):
if verbose:
print("pmc file:", os.path.basename(fname))
- # profile the app
- run_subprocess(
- [
- rocprof_cmd,
- "-i",
- fname,
- "--timestamp",
- "on",
- "-o",
- workload_dir + "/" + fbase + ".csv",
- '"' + cmd + '"',
- ]
- )
+ # profile the app (run w/ custom config files for mi100)
+ if target == "mi100":
+ print("RUNNING WITH CUSTOM METRICS")
+ run_subprocess(
+ [
+ rocprof_cmd,
+ "-i",
+ fname,
+ "-m",
+ perfmon_dir + "/" + "metrics.xml",
+ "--timestamp",
+ "on",
+ "-o",
+ workload_dir + "/" + fbase + ".csv",
+ '"' + cmd + '"',
+ ]
+ )
+ else:
+ run_subprocess(
+ [
+ rocprof_cmd,
+ "-i",
+ fname,
+ "--timestamp",
+ "on",
+ "-o",
+ workload_dir + "/" + fbase + ".csv",
+ '"' + cmd + '"',
+ ]
+ )
def omniperf_profile(args, VER):
@@ -545,7 +562,7 @@ def omniperf_profile(args, VER):
if args.use_rocscope == True:
run_rocscope(args, fname)
else:
- run_prof(fname, workload_dir, perfmon_dir, args.remaining, args.verbose)
+ run_prof(fname, workload_dir, perfmon_dir, args.remaining, args.target, args.verbose)
# run again with timestamps
run_subprocess(
diff --git a/projects/rocprofiler-compute/src/perfmon_pub/gfx908_metrics.xml b/projects/rocprofiler-compute/src/perfmon_pub/gfx908_metrics.xml
new file mode 100644
index 0000000000..c38a8f8118
--- /dev/null
+++ b/projects/rocprofiler-compute/src/perfmon_pub/gfx908_metrics.xml
@@ -0,0 +1,737 @@
+
+ # CPC counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # GRBM counters
+
+
+
+
+
+
+
+
+
+
+ # SPI counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # SQ counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # TA counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # TCA counters
+
+
+ # TCC counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # TCP counters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ # TD counters
+
+
+
+
+
+
+
+
diff --git a/projects/rocprofiler-compute/src/perfmon_pub/metrics.xml b/projects/rocprofiler-compute/src/perfmon_pub/metrics.xml
new file mode 100644
index 0000000000..e66531affe
--- /dev/null
+++ b/projects/rocprofiler-compute/src/perfmon_pub/metrics.xml
@@ -0,0 +1,163 @@
+#include "gfx908_metrics.xml"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #xlu - TA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #xlu -TD
+
+
+
+
+
+
+
+
+ #xlu -TCP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #xlu - TCP
+
+
+
+
+ #xlu - TCC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+