03 / 06 · Budget the startup
Programming Costs
Before the first MVM, the weights must arrive and the array must be programmed. Neither cost belongs in every subsequent MVM if the matrix stays in place.
Two costs, paid once per matrix
The blue line is weight transfer time. The purple line adds the time to set those weights in the analog array. The difference between their cycle counts is the programming delay, not memory traffic.
What the controls change
Bandwidth sets the transfer time: ⌈4N²/B⌉ cycles for a square array. More bandwidth lowers both curves.
Programming delay adds cycles after delivery. This illustration uses the same chosen whole-array delay at every size; it does not predict a physical device’s programming latency.
Parameter in the simulation
cost_per_array_program_cycles- Whole-array delay after weight delivery, paid per programming operation.