refactors
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user