SEER: Super-Optimization Explorer for HLS using E-graph Rewriting with MLIR
Jianyi Cheng, Samuel Coward, Lorenzo Chelini, Rafael Barbalho, Theo, Drane

TL;DR
SEER is a super-optimization framework that uses e-graph rewriting within MLIR to automatically generate highly efficient hardware designs from high-level programs, significantly improving performance over traditional HLS methods.
Contribution
This work introduces SEER, the first e-graph based super-optimizer for HLS that integrates with MLIR to explore a wide space of equivalent program implementations.
Findings
SEER achieves up to 38x performance improvements.
SEER produces designs with only 1.4x area increase.
Outperforms manually optimized hardware designs in case studies.
Abstract
High-level synthesis (HLS) is a process that automatically translates a software program in a high-level language into a low-level hardware description. However, the hardware designs produced by HLS tools still suffer from a significant performance gap compared to manual implementations. This is because the input HLS programs must still be written using hardware design principles. Existing techniques either leave the program source unchanged or perform a fixed sequence of source transformation passes, potentially missing opportunities to find the optimal design. We propose a super-optimization approach for HLS that automatically rewrites an arbitrary software program into efficient HLS code that can be used to generate an optimized hardware design. We developed a toolflow named SEER, based on the e-graph data structure, to efficiently explore equivalent implementations of a program at…
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
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Ferroelectric and Negative Capacitance Devices
MethodsGlobal Average Pooling · 1x1 Convolution · LARS · Dense Connections · *Communicated@Fast*How Do I Communicate to Expedia? · Average Pooling · Sigmoid Activation · Convolution · Swapping Assignments between Views · Batch Normalization
