Search papers, labs, and topics across Lattice.
This study systematically investigates frontend bugs (fBugs) in deep learning compilers, specifically focusing on TorchDynamo in PyTorch 2. By employing a domain-knowledge-enhanced LLM methodology, the authors categorize 123 fBugs into 7 root cause categories and 15 subcategories, revealing critical insights into the nature of these defects. The research not only identifies 23 previously unknown fBugs but also demonstrates the effectiveness of LLMs in generating targeted test cases for improved bug detection and frontend robustness.
Uncovering 23 previously unknown frontend bugs in deep learning compilers could significantly enhance the reliability of AI frameworks like PyTorch.
Deep learning compilers (DLCs) are designed to translate deep learning programs into optimized, hardware-specific code. Typically, DLC frontends translate programs into graph-based intermediate representations (IRs) to enable optimizations. Defects introduced during this stage (termed \emph{fBug}s) are severe yet understudied, as prior work predominantly focuses on low-level APIs and operators or treats DLCs as monolithic entities. To bridge this gap, we conduct the first systematic empirical study of \emph{fBug}s in TorchDynamo, the default DLC frontend for PyTorch 2, the most popular DL framework. Leveraging a domain-knowledge-enhanced LLM-aided methodology, we analyze 123 \emph{fBug}s and construct a taxonomy comprising 7 root cause categories and 15 subcategories. Our findings provide actionable insights for DLC development and testing. Furthermore, we leverage the LLM to generate targeted, root cause-aware test cases to detect new bugs. We uncovered 23 previously unknown \emph{fBug}s in recent releases (15 confirmed) across eight (sub)categories, demonstrating the efficacy of our methodology in testing and hardening DLC frontends.