add non-functional validation
Validate Operations / validate-operations (push) Has been cancelled

refactors
This commit is contained in:
NiccoloN
2026-07-27 10:54:59 +02:00
parent 4964e889da
commit 620e381cfb
30 changed files with 677 additions and 164 deletions
@@ -29,8 +29,13 @@ Compiler representations may share analysis, planning, or code-generation
work only when the emitted execution retains the same independent work,
schedule semantics, scheduling granularity, and available parallelism.
An optimization is acceptable only when its static runtime proxies are equal or
better.
Static runtime proxies are useful for screening changes, but they are not the
latency authority. When comparable validation results are available for the
same model, inputs, hardware configuration, and non-functional simulation
configuration, the `Latency` reported by `validation/validate.py` is
authoritative. An optimization is acceptable only when its static runtime
proxies are equal or better, unless such a matched validation comparison
demonstrates equal or better latency.
## Asymptotic cost
@@ -64,6 +69,7 @@ Do not:
Every performance change must report before and after:
- matched validation `Latency` when the changed execution can be simulated;
- compiler wall time;
- compiler peak RSS;
- IR operation and value counts at the changed stage;
@@ -82,4 +88,5 @@ Every performance change must report before and after:
## Stop rule
If compile time or memory improves but a runtime proxy worsens, stop and reject
the change.
the change unless a matched validation comparison demonstrates equal or better
`Latency`. Proxy improvements do not override a validation latency regression.