Modeling Assumptions#
AccelForge’s analytical model relies on the following assumptions.
Energy and Latency Per Action#
Energy per compute action is constant per Einsum. Each compute action consumes a fixed energy and latency.
Energy per bit and latency per bit are constant for each memory and Einsum combination.
The energy per action of a component is independent of its state (e.g., the number of elements stored, the addresses accessed, etc.).
Scheduling, Data Movement, and Memory Allocation#
All memory is explicitly allocated by the mapping. Allocations happen immediately when needed and are freed immediately when no longer needed.
Memory hierarchy order is always followed per-tensor.
Data arrives at its destination exactly when needed. There are no landing zones or multiple buffering.
With the exception of sparse optimizations, there is no data-dependent scheduling, and all schedules are determined statically by the mapping.
For each Einsum, all latencies (compute, memory accesses) can be perfectly overlapped. The total latency is the maximum of the per-component latencies.
Objective Optimization#
All objectives (e.g., energy, latency) increase monotonically with the number of hardware actions. This property is used by the mapper for pruning during tile shape exploration.
No hardware action count may be negative for a given Einsum.
Power Gating#
Components with power gating enabled consume zero power if a given spatial unit is not used at all by a given Einsum.