High-efficiency Compressor Trees for Latest AMD FPGAs
Hoßfeld, Konstantin; Damsgaard, Hans Jakob; Nurmi, Jari; Blott, Michaela; Preußer, Thomas B. (2024-04-30)
Hoßfeld, Konstantin
Damsgaard, Hans Jakob
Nurmi, Jari
Blott, Michaela
Preußer, Thomas B.
30.04.2024
30
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202408067920
https://urn.fi/URN:NBN:fi:tuni-202408067920
Kuvaus
Peer reviewed
Tiivistelmä
High-fan-in dot product computations are ubiquitous in highly relevant application domains, such as signal processing and machine learning. Particularly, the diverse set of data formats used in machine learning poses a challenge for flexible efficient design solutions. Ideally, a dot product summation is composed from a carry-free compressor tree followed by a terminal carry-propagate addition. On FPGA, these compressor trees are constructed from generalized parallel counters whose architecture is closely tied to the underlying reconfigurable fabric. This work reviews known counter designs and proposes new ones in the context of the new AMD Versal™ fabric. On this basis, we develop a compressor generator featuring variable-sized counters, novel counter composition heuristics, explicit clustering strategies, and case-specific optimizations like logic gate absorption. In comparison to the Vivado™ default implementation, the combination of such a compressor with a novel, highly efficient quaternary adder reduces the LUT footprint across different bit matrix input shapes by 45% for a plain summation and by 46% for a terminal accumulation at a slight cost in critical path delay still allowing an operation well above 500 MHz. We demonstrate the aptness of our solution at examples of low-precision integer dot product accumulation units.
Kokoelmat
- TUNICRIS-julkaisut [18884]