Dynamic-R in Action

Watch the BSA processing element adapt its precision per-weight. After QAT, most weights need only 1–2 terms. The hardware fires exactly the cycles needed and terminates early — no wasted work.

Speed
Press ▶ Stream to begin processing weights
Waiting for weight...
⚡ Dynamic-R BSA (this invention — actual cycles):
📌 Prior Art CSD/PoT (fixed R=3 — design-time):
🏭 Fixed R=8 (worst-case allocation):
Mean R̄
0
Weights Processed
0
Cycles Used
0
Cycles Saved
Fixed-R Waste
0
R=1
0
R=2
0
R=3
0
R=4
0
R≥5
R̄ = 1.6 target
FP32 MAC
4.6 pJ per weight (Horowitz 45nm)
0 pJ
Prior Art CSD (R=3)
0.07 pJ × 3 = 0.21 pJ/wt
0 pJ
Dynamic-R BSA
0.05 pJ × R̄ cycles
0 pJ
Process weights to see cumulative energy comparison

Prior art (CSD, MCM, PoT, APoT) uses fixed shift-add terms decided at design time.
Too many terms for simple weights → wasted cycles. Too few for complex weights → precision loss.
And still uses a dedicated multiplier for any weight that doesn't fit the fixed encoding.

5× throughput advantage

Dynamic-R solves both problems: a greedy residual encoder decomposes each weight at runtime,
the PE fires exactly R_i cycles and terminates early. No waste. No precision loss.
Same hardware for every weight, every domain, every precision level.