even better more structured throughput scheduling
Validate Operations / validate-operations (push) Has been cancelled
Validate Operations / validate-operations (push) Has been cancelled
plot adjustments validation adjustments
This commit is contained in:
@@ -33,13 +33,29 @@ per-inference measurements become `NA` in aggregates, not zero. With zero
|
||||
completed outputs, interval, throughput, and energy per inference are unavailable;
|
||||
measured average chip power can still be reported. Functional status is retained.
|
||||
|
||||
Floating-point correctness requires both elementwise absolute/relative tolerance
|
||||
and a relative L2 limit for each nonzero reference output. The L2 limit prevents
|
||||
small reference outputs from accepting all-zero results under the absolute floor.
|
||||
It cannot substitute for the elementwise check. Zero references use the absolute
|
||||
check; integer outputs require exact agreement. Nonfinite outputs are rejected.
|
||||
Validation reports record both maximum absolute and relative L2 errors.
|
||||
Report reuse includes the validation-policy identity.
|
||||
|
||||
Removing normalization operations can amplify floating-point sensitivity and
|
||||
change the computation. Such variants must use their own native reference.
|
||||
Agreement in a global norm alone does not establish elementwise correctness.
|
||||
Independent reference implementations and higher-precision calculations can
|
||||
help diagnose rounding sensitivity without relaxing the recorded pass criteria.
|
||||
|
||||
Ablation percentages require positive finite values for both the variant and
|
||||
its matching baseline. Tiny positive measurements retain significant digits
|
||||
instead of being rounded to zero in the comparison CSV. An extreme valid
|
||||
decrease can round to `-100.00%`; that value alone is not evidence of failure.
|
||||
Reciprocal output interval and throughput cannot both have that decrease.
|
||||
The ablation plotter warns and displays `N/A` for such invalid paired percentages,
|
||||
while leaving the CSV and functional status unchanged.
|
||||
The ablation report uses each disabled feature as its comparison baseline.
|
||||
Planning gain uses `no-plan`; throughput synchronization gain uses `no-sync`.
|
||||
Throughput gain measures the relative increase. Latency, power, and energy gains
|
||||
measure relative reductions. Both programs' functional statuses remain separate.
|
||||
|
||||
## Report reuse and implementation revisions
|
||||
|
||||
@@ -58,6 +74,12 @@ Metrics come from Pimsim's
|
||||
[`Chip::getSimulationReport`](../../backend-simulators/pim/pimsim-nn/src/chip/Chip.cpp)
|
||||
and [`EnergyCounter`](../../backend-simulators/pim/pimsim-nn/src/utils/EnergyCounter.cpp).
|
||||
|
||||
Pimsim-nn omits `vsoftmax` before instruction fetch. Reported performance and
|
||||
energy exclude its work. The PIM queue estimator uses the same omission.
|
||||
Functional validation executes Softmax and compares the same full model with
|
||||
its native reference. This timing approximation does not establish hardware
|
||||
support for Softmax or include its execution energy.
|
||||
|
||||
- Latency mode measures time to complete one inference.
|
||||
- Throughput-mode latency is measurement duration / completed iterations,
|
||||
equal to `1000 / throughput` before rounding. It is not end-to-end pipelined
|
||||
@@ -67,9 +89,16 @@ and [`EnergyCounter`](../../backend-simulators/pim/pimsim-nn/src/utils/EnergyCou
|
||||
mode). Plots convert pJ to mJ with `1e-9`; no pipeline-depth or batch-size
|
||||
division is applied.
|
||||
|
||||
Existing `average_energy_pj`, `raptor_energy_pj`, and validation CSV energy
|
||||
columns retain their names for compatibility. They contain energy per inference.
|
||||
|
||||
Fast mode measures throughput over the last two convergence windows but power
|
||||
and energy over the entire run up to early stop. Energy includes startup and
|
||||
work in flight, so it need not equal average power / reported throughput.
|
||||
If convergence fails, comparison and ablation reports retain the simulator's
|
||||
full-duration fallback throughput. This measurement includes transient execution.
|
||||
It does not establish steady-state convergence. The per-case JSON records its
|
||||
measurement type and convergence status. Missing or invalid measurements remain `NA`.
|
||||
Use `--no-fast` for full-duration measurements. Consult the
|
||||
[correctness notes](../../validation/tools/pim/pimcomp/correctness/README.md) before interpreting failed rows
|
||||
as performance comparisons.
|
||||
|
||||
Reference in New Issue
Block a user