Handle mutually exclusive report section filters (#710)

* Make --roof-only, --block and --set mutually exclusive from each other

* Update help output and documentation
  * Add sanitize function for checking profiler options

* Update filter blocks arguments when --set or --roof-only is provided

* Update filter_blocks in profiling_config.yaml based on --set option
  * Log Filtered Sections instead of Report Sections and Set Selection

* Move soc class function calls from rocprof compute base class to profiler base class

* Fix bug in panel level filtering using --filter-block option

* Remove roofline specific pmc files

* Move microbenchmark entry point from gfx specific soc class to base soc class

* Run microbenchmarks only if block 4 is selected or roof only is selected; skip for mi100
This commit is contained in:
vedithal-amd
2025-09-09 17:48:20 -04:00
committed by GitHub
parent 5738922604
commit 85a557673d
21 changed files with 202 additions and 450 deletions
@@ -2068,13 +2068,15 @@ def format_value_for_display(value, max_length=6):
if isinstance(value, str):
try:
if "." in value:
# when dot is in the string, we know it's a float number and convert with "float"
# when dot is in the string, we know it's a
# float number and convert with "float"
value = float(value)
else:
# without dot, we assume it's an integer and convert with "int"
value = int(value)
except ValueError:
# when conversion fails, the string is neither legit float or int, then assume it's invalid and display "N/A"
# when conversion fails, the string is neither legit float or int,
# then assume it's invalid and display "N/A"
return "N/A"
if isinstance(value, (int, float)):