[rocprofiler-compute] Threshold Based Clamping in Analyze Stage (#2565)

* add threshold clamping function + parse in parser.py (with I/O)

* implemented hybrid threshold solution

* update changelog

* removed absolute threshold hybrid approach; restored relative threshold + warn

* edited warning msg, threshold -> 1%

* update changelog

* added 2 test cases

* ran master workflow yaml config files

* added to FAQ

* Revert "ran master workflow yaml config files"

This reverts commit 75a670e14d6f1619ebbda0ec218755ccbe0d22b1.

* update FAQ

* update config hashes

* Broke down long functions into Class with sub-functions

* ruff format

* addressed comments
This commit is contained in:
jamessiddeley-amd
2026-01-23 00:54:54 -05:00
committed by GitHub
parent 7af2dba741
commit 69281bbcf4
17 changed files with 631 additions and 277 deletions
@@ -45,6 +45,29 @@ This dual-issue capability can be further investigated via:
When ROCm Compute Profiler detects values exceeding their theoretical peaks, it displays a warning message indicating this behavior.
What does "Counter variance corrected" mean?
=============================================
When profiling, you may see the following warning:
.. code-block:: text
WARNING: Counter variance corrected: X value(s) adjusted (max Y% deviation from multi-pass collection).
This indicates that ROCm Compute Profiler detected and corrected negative values in derived metrics. This is expected behavior, not an error.
**Why does this happen?**
Hardware performance counters are collected across multiple profiling passes. When calculating derived metrics that involve subtraction (such as ``A - B``), small run-to-run variance can occasionally produce negative results. Since negative event counts are physically impossible, these values are automatically clamped to zero.
**When should I be concerned?**
* **Deviation < 1%**: Normal hardware variance. No action needed.
* **Deviation ≥ 1%**: The warning is displayed. Results are still valid, but variance was higher than typical.
* **Deviation > 5%**: Consider investigating profiling conditions (system load, thermal throttling, non-deterministic application behavior, etc.).
This correction primarily affects L2 cache metrics where counter subtraction is used to derive values like remote read/write traffic, but run-to-run variations may impact the accuracy of a number of derived metrics in ROCm Compute Profiler.
How can I SSH tunnel in MobaXterm?
==================================