Revealing Floating-Point Accumulation Orders in Software/Hardware Implementations
Peichen Xie, Yanjie Gao, Yang Wang, Jilong Xue

TL;DR
This paper introduces FPRev, a diagnostic tool that non-intrusively reveals the undocumented accumulation orders in software and hardware implementations, aiding reproducibility and verification across diverse computational platforms.
Contribution
The paper presents FPRev, a novel testing-based tool that efficiently uncovers accumulation orders in various implementations without modification.
Findings
FPRev can identify accumulation orders in popular libraries like NumPy and PyTorch.
FPRev works effectively on CPUs, GPUs, and specialized accelerators.
The tool demonstrates lower time complexity than basic solutions.
Abstract
Accumulation-based operations, such as summation and matrix multiplication, are fundamental to numerous computational domains. However, their accumulation orders are often undocumented in existing software and hardware implementations, making it difficult for developers to ensure consistent results across systems. To address this issue, we introduce FPRev, a diagnostic tool designed to reveal the accumulation order in the software and hardware implementations through numerical testing. With FPRev, developers can identify and compare accumulation orders, enabling developers to create reproducible software and verify implementation equivalence. FPRev is a testing-based tool that non-intrusively reveals the accumulation order by analyzing the outputs of the tested implementation for distinct specially designed inputs. Employing FPRev, we showcase the accumulation orders of popular…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParticle accelerators and beam dynamics · Numerical Methods and Algorithms
