ProgSG: Cross-Modality Representation Learning for Programs in Electronic Design Automation
Yunsheng Bai, Atefeh Sohrabizadeh, Zongyue Qin, Ziniu Hu, Yizhou Sun,, Jason Cong

TL;DR
ProgSG introduces a deep, fine-grained multi-modal learning approach combining code sequences and control data flow graphs, enhanced by pre-training on compiler analysis tasks, to improve DSA high-level synthesis predictions.
Contribution
It presents ProgSG, a novel model that effectively integrates code and graph modalities with alignment information for better program understanding in EDA.
Findings
Outperforms baseline methods on benchmark datasets.
Leverages alignment information for improved learning.
Pre-training enhances model performance.
Abstract
Recent years have witnessed the growing popularity of domain-specific accelerators (DSAs), such as Google's TPUs, for accelerating various applications such as deep learning, search, autonomous driving, etc. To facilitate DSA designs, high-level synthesis (HLS) is used, which allows a developer to compile a high-level description in the form of software code in C and C++ into a design in low-level hardware description languages (such as VHDL or Verilog) and eventually synthesized into a DSA on an ASIC (application-specific integrated circuit) or FPGA (field-programmable gate arrays). However, existing HLS tools still require microarchitecture decisions, expressed in terms of pragmas (such as directives for parallelization and pipelining). To enable more people to design DSAs, it is desirable to automate such decisions with the help of deep learning for predicting the quality of HLS…
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
TopicsSoftware Engineering Research · Parallel Computing and Optimization Techniques · Software Testing and Debugging Techniques
Methodsfail
