Multiqueue-Based FPGA Routing: Relaxed A* Priority Ordering for Improved Parallelism

Routing is a critical part of the FPGA CAD flow. Its solution quality greatly impacts design speed and power, and its run time significantly contributes to overall compile time. As FPGA design size grows but per-core CPU performance stagnates, parallel FPGA routing algorithms that can leverage multiple compute cores become increasingly valuable. Most prior work in parallel FPGA routing uses coarse-grained approaches that route nonoverlapping nets in parallel; this work targets a complementary fine-grained form of parallelism in which the shortest-path algorithms that complete a single connection are multi-threaded. We speed up several related shortest path algorithms (Dijkstra's, A*, and directed) by utilizing a concurrencyfriendly but weakly ordered data structure, the MultiQueue, and enhance the algorithms to compensate for its imperfect ordering of partial routings. Compared to the VTR 8+ router, these techniques achieve routing time reductions of <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$18.7 \times$</tex> and <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$13.2 \times$</tex> on average over the Titan benchmark suite when using Dijkstra's and A* path search, respectively, on a 12 -core CPU. These parallel algorithms achieve wirelength and critical path delay quality comparable to the serial router; they are also deterministic and serially equivalent. When applied to directed search routing, the parallel path search achieves a speed-up of <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$1.98 \times$</tex> and a slightly higher quality than the serial VTR router, but is nondeterministic. Thanks to queue improvements, our router at 1-thread is <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$1.7 \times$</tex> faster than VTR's for Dijkstra's and A* search, but comparable in run time for directed search.

Authors

Institutions

Publication Details

Published
2024-12-10
DOI
https://doi.org/10.1109/icfpt64416.2024.11113444
Citations
2
Primary Topic
Interconnection Networks and Systems
Type
article
Field-Weighted Citation Impact
0.70

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Multiqueue-Based FPGA Routing: Relaxed A* Priority Ordering for Improved Parallelism

Vaughn Betz, Mirjana Stojilović, Hang Yan, Mark C. Jeffrey et al.
2 citations
Interconnection Networks and Systems
0.70
article

Multiqueue-Based FPGA Routing: Relaxed A* Priority Ordering for Improved Parallelism

Vaughn Betz, Mirjana Stojilović, Hang Yan, Mark C. Jeffrey, Guozheng Zhang, Alexandre Singer
article en
2 citations

Abstract

Routing is a critical part of the FPGA CAD flow. Its solution quality greatly impacts design speed and power, and its run time significantly contributes to overall compile time. As FPGA design size grows but per-core CPU performance stagnates, parallel FPGA routing algorithms that can leverage multiple compute cores become increasingly valuable. Most prior work in parallel FPGA routing uses coarse-grained approaches that route nonoverlapping nets in parallel; this work targets a complementary fine-grained form of parallelism in which the shortest-path algorithms that complete a single connection are multi-threaded. We speed up several related shortest path algorithms (Dijkstra's, A*, and directed) by utilizing a concurrencyfriendly but weakly ordered data structure, the MultiQueue, and enhance the algorithms to compensate for its imperfect ordering of partial routings. Compared to the VTR 8+ router, these techniques achieve routing time reductions of <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$18.7 \times$</tex> and <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$13.2 \times$</tex> on average over the Titan benchmark suite when using Dijkstra's and A* path search, respectively, on a 12 -core CPU. These parallel algorithms achieve wirelength and critical path delay quality comparable to the serial router; they are also deterministic and serially equivalent. When applied to directed search routing, the parallel path search achieves a speed-up of <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$1.98 \times$</tex> and a slightly higher quality than the serial VTR router, but is nondeterministic. Thanks to queue improvements, our router at 1-thread is <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$1.7 \times$</tex> faster than VTR's for Dijkstra's and A* search, but comparable in run time for directed search.

University of Toronto (CA), École Polytechnique Fédérale de Lausanne (CH)
Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung, Natural Sciences and Engineering Research Council of Canada
Openalex Percentile: Top 25%
Interconnection Networks and Systems
0.70
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.