2000 character limit reached
There and Back Again: A Netlist's Tale with Much Egraphin' (2404.00786v1)
Published 31 Mar 2024 in cs.AR and cs.PL
Abstract: EDA toolchains are notoriously unpredictable, incomplete, and error-prone; the generally-accepted remedy has been to re-imagine EDA tasks as compilation problems. However, any compiler framework we apply must be prepared to handle the wide range of EDA tasks, including not only compilation tasks like technology mapping and optimization (the "there"} in our title), but also decompilation tasks like loop rerolling (the "back again"). In this paper, we advocate for equality saturation -- a term rewriting framework -- as the framework of choice when building hardware toolchains. Through a series of case studies, we show how the needs of EDA tasks line up conspicuously well with the features equality saturation provides.
- CIRCT Authors. 2024. CIRCT. https://circt.llvm.org/. Accessed 2024-03-06.
- babble: Learning Better Abstractions with E-Graphs and Anti-unification. Proc. ACM Program. Lang. 7, POPL, Article 14 (jan 2023), 29 pages. https://doi.org/10.1145/3571207
- Automatic Datapath Optimization using E-Graphs. In 2022 IEEE 29th Symposium on Computer Arithmetic (ARITH). 43–50. https://doi.org/10.1109/ARITH54963.2022.00016
- Yann Herklotz and John Wickerson. 2020. Finding and understanding bugs in FPGA synthesis tools. In Proceedings of the 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. 277–287.
- WolFEx: Word-Level Function Extraction and Simplification from Gate-Level Arithmetic Circuits. In 2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD). IEEE, 1–9.
- Application-level Validation of Accelerator Designs Using a Formal Software/Hardware Interface. ACM Trans. Des. Autom. Electron. Syst. 29, 2, Article 35 (feb 2024), 25 pages. https://doi.org/10.1145/3639051
- Optimizing Stateful Dataflow with Local Rewrites. arXiv:2306.10585 [cs.PL]
- ACC Saturator: Automatic Kernel Optimization for Directive-Based GPU Code. arXiv preprint arXiv:2306.13002 (2023).
- Synthesizing structured CAD models with equality saturation and inverse transformations. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (London, UK) (PLDI 2020). Association for Computing Machinery, New York, NY, USA, 31–44. https://doi.org/10.1145/3385412.3386012
- Charles Gregory Nelson. 1980. Techniques for program verification. Ph. D. Dissertation. Stanford, CA, USA. AAI8011683.
- Robert Nieuwenhuis and Albert Oliveras. 2005. Proof-producing congruence closure. In Proceedings of the 16th International Conference on Term Rewriting and Applications (Nara, Japan) (RTA’05). Springer-Verlag, Berlin, Heidelberg, 453–468. https://doi.org/10.1007/978-3-540-32033-3_33
- Predictable accelerator design with time-sensitive affine types. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. 393–407.
- A compiler infrastructure for accelerator generators. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 804–817.
- ESFO: Equality Saturation for FIRRTL Optimization. In Proceedings of the Great Lakes Symposium on VLSI 2023. 581–586.
- LLHD: A multi-level intermediate representation for hardware description languages. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. 258–271.
- Loop Rerolling for Hardware Decompilation. Proc. ACM Program. Lang. 7, PLDI, Article 123 (jun 2023), 23 pages. https://doi.org/10.1145/3591237
- FPGA Technology Mapping Using Sketch-Guided Program Synthesis. arXiv preprint arXiv:2401.16526 (2024).
- Pure tensor program rewriting via access patterns (representation pearl). In Proceedings of the 5th ACM SIGPLAN International Symposium on Machine Programming (Virtual, Canada) (MAPS 2021). Association for Computing Machinery, New York, NY, USA, 21–31. https://doi.org/10.1145/3460945.3464953
- Equality saturation: a new approach to optimization. SIGPLAN Not. 44, 1 (jan 2009), 264–276. https://doi.org/10.1145/1594834.1480915
- Samuel Thomas and James Bornholt. 2024. Automatic Generation of Vectorizing Compilers for Customizable Digital Signal Processors. (2024).
- Impress: Large integer multiplication expression rewriting for fpga hls. In 2022 IEEE 30th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 1–10.
- Equality Saturation for Datapath Synthesis: A Pathway to Pareto Optimality. In 2023 60th ACM/IEEE Design Automation Conference (DAC). 1–2. https://doi.org/10.1109/DAC56929.2023.10247948
- Vectorization for digital signal processors via equality saturation. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (Virtual, USA) (ASPLOS ’21). Association for Computing Machinery, New York, NY, USA, 874–886. https://doi.org/10.1145/3445814.3446707
- SPORES: sum-product optimization via relational equality saturation for large scale linear algebra. Proc. VLDB Endow. 13, 12 (jul 2020), 1919–1932. https://doi.org/10.14778/3407790.3407799
- Infinity stream: Portable and programmer-friendly in-/near-memory fusion. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3. 359–375.
- Multiplier Optimization via E-Graph Rewriting. arXiv preprint arXiv:2312.06004 (2023).
- egg: Fast and extensible equality saturation. Proc. ACM Program. Lang. 5, POPL, Article 23 (jan 2021), 29 pages. https://doi.org/10.1145/3434304
- Rewriting History: Repurposing Domain-Specific CGRAs. arXiv preprint arXiv:2309.09112 (2023).
- Better Together: Unifying Datalog and Equality Saturation. Proc. ACM Program. Lang. 7, PLDI, Article 125 (jun 2023), 25 pages. https://doi.org/10.1145/3591239
- Automatic End-to-End Joint Optimization for Kernel Compilation on DSPs. In 2023 60th ACM/IEEE Design Automation Conference (DAC). IEEE, 1–6.