Enable rocpd output format with rocprofiler sdk (#790)

* Add `rocpd` choice for `--format-rocprof-output` option
* Add rocpd_data.py which defines SQL queries to extract data from rocpd database
* Use sqlite3 package to read the database
* Add `--retain-rocpd-output` option in profile mode to retain raw
  rocpd database
* Add warning notice to say `--format-rocprof-output rocpd` will be
  default in future release

For rocpd output:
* Use only `pmc_perf.csv` instead of reading individual coll_level results csv files
* Post process csv files using pandas in analysis mode instead of profile mode
* Use ACCUM counters instead of SQ_ACCUM_PREV_HIRES

* Add test cases for rocpd output format
* Fix code formatting issues
* Update CHANGELOG

[ROCm/rocprofiler-compute commit: 03d27c0ba0]
Цей коміт міститься в:
vedithal-amd
2025-07-28 11:02:28 -04:00
зафіксовано GitHub
джерело 97465e7448
коміт 17e5892614
39 змінених файлів з 19428 додано та 37 видалено
+4 -2
Переглянути файл
@@ -128,11 +128,13 @@ class OmniAnalyze_Base:
if not normalization_filter:
for k, v in self._arch_configs.items():
parser.build_metric_value_string(
v.dfs, v.dfs_type, self.__args.normal_unit
v.dfs, v.dfs_type, self.__args.normal_unit, self._profiling_config
)
else:
for k, v in self._arch_configs.items():
parser.build_metric_value_string(v.dfs, v.dfs_type, normalization_filter)
parser.build_metric_value_string(
v.dfs, v.dfs_type, normalization_filter, self._profiling_config
)
args = self.__args
# Error checking for multiple runs and multiple kernel filters
+6 -1
Переглянути файл
@@ -47,6 +47,7 @@ class cli_analysis(OmniAnalyze_Base):
self.get_args().spatial_multiplexing,
self.get_args().kernel_verbose,
self.get_args().verbose,
self._profiling_config,
)
if self.get_args().spatial_multiplexing:
@@ -72,7 +73,11 @@ class cli_analysis(OmniAnalyze_Base):
# create the loaded table
parser.load_table_data(
workload=self._runs[d[0]], dir=d[0], is_gui=False, args=self.get_args()
workload=self._runs[d[0]],
dir=d[0],
is_gui=False,
args=self.get_args(),
config=self._profiling_config,
)
@demarcate
+3
Переглянути файл
@@ -120,6 +120,7 @@ class webui_analysis(OmniAnalyze_Base):
self.get_args().spatial_multiplexing,
self.get_args().kernel_verbose,
self.get_args().verbose,
self._profiling_config,
)
if self.get_args().spatial_multiplexing:
@@ -168,6 +169,7 @@ class webui_analysis(OmniAnalyze_Base):
dir=self.dest_dir,
is_gui=True,
args=self.get_args(),
config=self._profiling_config,
)
# ~~~~~~~~~~~~~~~~~~~~~~~
@@ -300,6 +302,7 @@ class webui_analysis(OmniAnalyze_Base):
self.get_args().spatial_multiplexing,
self.get_args().kernel_verbose,
args.verbose,
self._profiling_config,
)
if self.get_args().spatial_multiplexing: