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.

Tprogram weights=T_{\text{program weights}} = Ttransfer(4mn)T_{\text{transfer}}(4mn) +Tarray program(mn)+ T_{\text{array program}}(mn)

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.