AnICA: analyzing inconsistencies in microarchitectural code analyzers
Fabian Ritter, Sebastian Hack
Abstract
Microarchitectural code analyzers, i.e., tools that estimate the throughput of machine code basic blocks, are important utensils in the tool belt of performance engineers. Recent tools like llvm-mca, uiCA, and Ithemal use a variety of techniques and different models for their throughput predictions. When put to the test, it is common to see these state-of-the-art tools give very different results. These inconsistencies are either errors, or they point to different and rarely documented assumptions made by the tool designers.
In this paper, we present AnICA, a tool taking inspiration from differential testing and abstract interpretation to systematically analyze inconsistencies among these code analyzers. Our evaluation shows that AnICA can summarize thousands of inconsistencies in a few dozen descriptions that directly lead to high-level insights into the different behavior of the tools. In several case studies, we further demonstrate how AnICA automatically finds and characterizes known and unknown bugs in llvm-mca, as well as a quirk in AMD's Zen microarchitectures.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6fe8190c-bbd3-4182-8472-43ff83def782Builds on4
- NEZHA: Efficient Domain-Independent Differential TestingTheofilos Petsios, Adrian Tang, Salvatore J. Stolfo, Angelos D. Keromytis et al.S&P 2017 · 132 citations
- Revizor: testing black-box CPUs against speculation contractsOleksii Oleksenko, Christof Fetzer, Boris Köpf, Mark SilbersteinASPLOS 2022 · 36 citations
- DiffTune: Optimizing CPU Simulator Parameters with Learned Differentiable SurrogatesAlex Renda, Yishen Chen, Charith Mendis, Michael CarbinMICRO 2020 · 26 citations
- PMEvo: portable inference of port mappings for out-of-order processors by evolutionary optimizationFabian Ritter, Sebastian HackPLDI 2020 · 13 citations
Related papers
- A Highly Scalable, Hybrid, Cross-Platform Timing Analysis Framework Providing Accurate Differential Throughput Estimation via Instruction-Level TracingMin-Yih Hsu, Felicitas Hetzelt, David Gens, Michael Maitland et al.FSE 2023
- The Unseen Delta: Characterizing the Compiler Optimization Landscape via Top-Down Differential AnalysisZhibo Liu, Huaijin Wang, Shuai WangISSTA 2026
- Automatic Microprocessor Performance Bug DetectionErick Carvajal Barboza, Sara Jacob, Mahesh Ketkar, Michael Kishinevsky et al.HPCA 2021 · 11 citations
- EXAMINER: automatically locating inconsistent instructions between real devices and CPU emulators for ARMMuhui Jiang, Tianyi Xu, Yajin Zhou, Yufeng Hu et al.ASPLOS 2022 · 13 citations
- CounterPoint: Using Hardware Event Counters to Refute and Refine Microarchitectural AssumptionsNick Lindsay, Caroline Trippel, Anurag Khandelwal, Abhishek BhattacharjeeASPLOS 2026
