All projects
Macro Placement
GNN + electrostatic hybrid macro placer for the Partcl x HRT challenge
Challenge entry · Partcl x HRT Macro Placement Challenge 2026 · Solo entrant · April — May 2026
Overview
My solo entry for the Partcl x HRT Macro Placement Challenge 2026. Macro placement decides where the large blocks on a chip go, and every decision affects wirelength, congestion, and timing.
What I built
A hybrid placer in Python and PyTorch. It converts the netlist hypergraph into a star-expanded bipartite graph, uses a graph neural network for a fast initial placement, and then hands off to physics-style optimization that a GNN alone does not do well.
How it works
The pipeline runs in four stages:
- A GNN embeds the netlist graph and produces an initial macro placement, with several restarts.
- ePlace style density optimization spreads macros using an FFT solved electrostatic field.
- Density equalization and congestion aware coordinate descent refine the layout.
- A legalization pass removes any remaining overlap before final refinement.
Results
Evaluated on all 17 IBM benchmarks with zero overlapping macros. The code is split into graph construction, the GNN, the electrostatic optimizer, proxy cost and density losses, and legalization, and each benchmark runs through the challenge evaluator.