Files
Oleksandr Pavlyk 0dc93b0c0e Introduce robust metrics (#379)
* Add statistics utilities to compute quartiles

Quartiles are computed using nearest rank method.

Two implementations are provided:
  1. Sort-based:
     a. sort array
     b. extract values at ranks of interest
  2. Selection based:
     a. Run nth_element to find median on whole range
     b. Run nth_element on left side to find first quartile
     c. Run nth_element on right side to find thirst quartile

Public API copies input into temporary vector which is mutated as needed.

Public API uses sort-based implementation for small arrays ( <= 4096 elements),
and selection-based implementation for larger arrays.

Sort-based implementation can support computation of arbitrary percentiles,
which could be useful later if more extreme statistics is needed.

Add tests covering percentile and quartile edge cases, input iterators,
selection-vs-sorting agreement, empty and singleton inputs, and relative
dispersion validation.

* Add quartiles information to summaries

Use the quartile helpers to report robust cold and CPU-only timing summaries:
Q1, median, Q3, interquartile range, and relative interquartile range.
These values stay hidden.

Summary tags are nv/cold/time/gpu/q1, nv/cold/time/gpu/median,
nv/cold/time/gpu/q3, nv/cold/time/gpu/ir/absolute, nv/cold/time/gpu/ir/relative

ir/absolute = q3 - q1, ir/relative = (q3 - q1)/median

Similar tags added for nv/cold/time/cpu and for CPU-only measures.

Validate relative-dispersion calculations before publishing relative noise
summaries so invalid centers or dispersion values do not produce misleading
summary entries.

* Prefer robust summaries in default output

Only flip visibility for nv/cold/cpu/time, nv/cold/gpu/time,
and nv/cpu_only/only:
  - hide mean
  - hide stdev/relative
  - show median
  - show ir/relative

* Use is_close where std::abs(act-exp) was used

* Revert "Prefer robust summaries in default output"

This reverts commit 9a0afc361c.

Basically, all robust statistics summaries entries are hidden,
and mean + stdev/relative are back to be default displayed items

* Address PR review feedback
2026-06-02 13:20:15 -05:00
..
2026-05-19 15:10:58 -05:00
2026-05-19 15:10:58 -05:00
2026-05-19 15:10:58 -05:00
2026-05-15 15:14:30 -05:00
2026-05-19 15:10:58 -05:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2026-06-02 13:20:15 -05:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00
2025-04-14 17:26:12 +00:00