Procrastination Is All You Need: Exponent Indexed Accumulators for Floating Point, Posits and Logarithmic Numbers
Vincenzo Liguori

TL;DR
This paper introduces a novel exponent-indexed accumulator method for efficient summation of floating point, posits, and logarithmic numbers, with practical FPGA and ASIC implementations demonstrating high performance and extension to alternative number formats.
Contribution
It presents a new accumulation technique that improves summation efficiency across various number formats and details hardware architectures for FPGA and ASIC implementations.
Findings
Efficient FPGA implementation achieving 700+ MHz for matrix multiplication.
Extension of the method to posits and logarithmic number systems.
Demonstrated hardware designs with high throughput and resource efficiency.
Abstract
This paper discusses a simple and effective method for the summation of long sequences of floating point numbers. The method comprises two phases: an accumulation phase where the mantissas of the floating point numbers are added to accumulators indexed by the exponents and a reconstruction phase where the actual summation result is finalised. Various architectural details are given for both FPGAs and ASICs including fusing the operation with a multiplier, creating efficient MACs. Some results are presented for FPGAs, including a tensor core capable of multiplying and accumulating two 4x4 matrices of bfloat16 values every clock cycle using ~6,400 LUTs + 64 DSP48 in AMD FPGAs at 700+ MHz. The method is then extended to posits and logarithmic numbers.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Mathematical and Theoretical Analysis · Logic, programming, and type systems
