2
0

Remove static pmc files (#606)

* Delete static pmc files

* Counter parsing changes
	- Move counter parsing logic to another function
	- Fix counter parsing regex
	- Log list of counters being collected

* Sanity check counters supported by rocprof
	- Emit warning instead of error since rocprof support counters
	  list might be inaccurate

* Do not collect these counters
	- TCP_TCP_LATENCY_sum (except for gfx908 and gfx90a)
	- SQC_DCACHE_INFLIGHT_LEVEL

* Update logic of writing TCC channel counter definition yaml file

* Fix bug in capture_subprocess_output() utility function
	- Make logging optional in capture_subprocess_output()

* Fix formatting and tests

* Update changelong

[ROCm/rocprofiler-compute commit: 58cf702d40]
Este cometimento está contido em:
vedithal-amd
2025-03-24 17:43:29 -04:00
cometido por GitHub
ascendente c52fa4ef5f
cometimento 67b20baf11
89 ficheiros modificados com 482 adições e 1765 eliminações
@@ -55,11 +55,6 @@ class RocProfCompute_Base:
self.__profiler = profiler_mode
self.__supported_archs = supported_archs
self._soc = soc # OmniSoC obj
self.__perfmon_dir = str(
Path(str(config.rocprof_compute_home)).joinpath(
"rocprof_compute_soc", "profile_configs"
)
)
self.__filter_hardware_blocks = [
name for name, type in args.filter_blocks.items() if type == "hardware_block"
]
@@ -25,6 +25,7 @@
import os
from pathlib import Path
import config
from rocprof_compute_profile.profiler_base import RocProfCompute_Base
from utils.utils import console_log, demarcate, replace_timestamps, store_app_cmd
@@ -43,9 +44,14 @@ class rocprof_v1_profiler(RocProfCompute_Base):
app_cmd = self.get_args().remaining
args = []
# can be removed in the future. It supports gfx908 + v1
# rocprof v1 does not support some counters on gfx 908 architecture
if soc.get_arch() == "gfx908":
args += ["-m", soc.get_workload_perfmon_dir() + "/" + "metrics.xml"]
metrics_path = str(
Path(str(config.rocprof_compute_home)).joinpath(
"rocprof_compute_soc", "profile_configs", "metrics.xml"
)
)
args += ["-m", metrics_path]
args += [
# v1 requires request for timestamps
@@ -26,6 +26,7 @@ import os
import shlex
from pathlib import Path
import config
from rocprof_compute_profile.profiler_base import RocProfCompute_Base
from utils.utils import console_log, demarcate, replace_timestamps, store_app_cmd
@@ -44,9 +45,14 @@ class rocprof_v2_profiler(RocProfCompute_Base):
app_cmd = shlex.split(self.get_args().remaining)
args = []
# can be removed in the future. It supports gfx908 + v2
# rocprof v2 does not support some counters on gfx 908 architecture
if soc.get_arch() == "gfx908":
args += ["-m", soc.get_workload_perfmon_dir() + "/" + "metrics.xml"]
metrics_path = str(
Path(str(config.rocprof_compute_home)).joinpath(
"rocprof_compute_soc", "profile_configs", "metrics.xml"
)
)
args += ["-m", metrics_path]
args += [
# v2 requires output directory argument