Commit c5111f1
committed
Higher radix multiplier encoding
The Radix-4 multiplier pre-computes products for x * 0 (zero), x * 1
(x), x * 2 (left-shift x), x * 3 (x * 2 + x) to reduce the number of
sums by a factor of 2. Radix-8 extends this up to x * 7 (reducing sums
by a factor of 3), and Radix-16 up to x * 15 (reducing sums by a factor
of 4). This modified approach to computing partial products can be
freely combined with different (tree) reduction schemes.
Benchmarking results can be found at
https://tinyurl.com/multiplier-comparison (shortened URL for
https://docs.google.com/spreadsheets/d/197uDKVXYRVAQdxB64wZCoWnoQ_TEpyEIw7K5ctJ7taM/).
The data suggests that combining Radix-8 partial product pre-computation
with Dadda's reduction can yield substantial performance gains while not
substantially regressing in other benchmark/solver pairs.1 parent eaa2cdd commit c5111f1
1 file changed
+823
-8
lines changed
0 commit comments