Skip to the content.

ISPD24 Contest: GPU/ML-Enhanced Large Scale Global Routing

profile

Contest Introduction

Global routing is a critical component of the VLSI design process, exerting a substantial influence on circuit timing, power consumption, and overall routability. The efficiency of global routing is of paramount importance, as a swift and scalable approach can guide optimizations in early design stages like floor-planning and placement.

Over the past decade, GPU accelerated computing platforms have been evolving into highly versatile and programmable systems capable of delivering immense parallel computing power. Recent studies have successfully leveraged GPUs to achieve over a 10x acceleration in global routing without compromising performance. Furthermore, machine learning (ML) techniques have been integrated into the global routing process, leading to enhanced routing solution quality.

The goal of this competition is to stimulate academic research aimed at developing a GPU/ML-enhanced global router tailored for industrial-level circuits. Notably, contemporary VLSI circuits often encompass tens of millions of cells, which is a significant departure from past global routing competitions that typically dealt with scenarios involving no more than 1 million cells. Due to the limitations of current routers, hierarchical or partitioning-based methods are commonly employed to manage large circuits, albeit at the risk of sacrificing a certain degree of optimality. It is of great importance to develop a scalable global router capable of handling circuits with tens of millions of cells, as it can greatly inform optimizations in the early design stages, such as floor-planning and placement. By fostering enthusiasm and innovation within the global routing research community, this competition aims to deliver substantial reductions in global routing runtime for these expansive industrial-grade circuits, harnessing the computational power of GPUs and the potential of machine learning techniques. Simultaneously, it strives to enhance the overall quality of routing results.

Input/Output Formats and Evaluation

To enable teams from diverse backgrounds to participate, we have extracted routing resource information and netlist data from LEF and DEF files and organized them in simplified formats. Consequently, participants can approach the contest as a mathematical optimization problem within the GCell grid graph. The desired outcome is global routing solutions described within the GCell grid graph. The evaluation process is centered on several key metrics, including total wirelength, via count and routing congestion of the global routing solution, as well as the execution runtime of the global router.

Please check Introduction of the contest for more details.

Submission Guidance

Teams are required to build a Docker image on top of the provided Dockerfile. Within the Docker environment, please create a directory named “router” under the “/workspace” folder and place the global router binary/scripts in this directory (/workspace/router). We expect that the global route can accept the following command line:

./route -cap $data.cap -net $data.net -output $data.output

During the evaluation process, the Docker images will be pulled and executed on a NVIDIA platform equipped with 4 NVIDIA A100 GPUs. Specifically, we will mount a “benchmarks” folder (containing the input files) to /workspace/benchmarks and an “evaluation” folder (containing the evaluation scripts) to /workspace/evaluation. The evaluation.sh script will be executed to run the submitted global router and evaluate the generated solutions.

Please kindly archive your Docker image to a tar file (refer to https://docs.docker.com/engine/reference/commandline/save/). Subsequently, upload the tar archive to Google Drive and share the link with us. Please grant access to the Docker image for anyone with the link. The global router binary/scripts are expected to be stored in /workspace/router within the Docker image. Therefore, there is no need to upload the global router binary/scripts separately. If you have any questions regarding this, please feel free to ask. Thank you!

Routing resource limit:

Leaderboard

design runtime /s WL cost via cost overflow cost raw score scaled score
Ariane133_51 12 9285586 2956924 209162 * 50 22700610 22599641.13
Ariane133_68 13 9435932 2883456 158823 * 50 20260538 20176881.88
BlackParrot 120 58702634 20208976 728858 * 50 115354510 115354510
MemPool-Tile 12 8484366 3501412 70477 * 50 15509628 15548566.75
MemPool-Group 362 271521737 94674144 1778913 * 50 455141531 448353488.1
MemPool-Cluster 14327 1103106843 285442676 5801104 * 50 1678604719 1752964443
design WL cost via cost overflow cost raw score runtime /s median runtime /s scaled score
Ariane133_51 9335109 3060400 10369862 22765372 4 11 22100882
Ariane133_68 9443754 2981836 7825647 20251238 8 12 20014313
BlackParrot 58347098 19740536 35450029 113537664 27 70.5 110393434
Nvdla 21345766 4630872 23933347 49909986 4 20 47592238
MemPool-Tile 8407884 3425828 3569040 15402753 3 10 14867672
MemPool-Group 262817992 76146200 70345580 409309772 81 375 391210938
MemPool-Cluster 1094650057 268335040 300359611 1663344708 478 2048 1593513066
Tera-Cluster 12190406272 1542639724 6705414754 20438460750 4310 4584 20402113329

Anouncement

Registration

Important Dates

Downloads

Q&A

Contact

Contest Prizes

profile