Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Intern Challenge: Placement Problem - Fork this repo when you start!

Welcome to the par.tcl 2026 ML Sys intern challenge! Your task is to solve a placement problem involving standard cells (small blocks) and macros (large blocks). The primary goal is to minimize overlap between blocks. Wirelength is also evaluated, but overlap is the dominant objective. A valid placement must eventually ensure no blocks overlap, but we will judge solutions by how effectively you reduce overlap and, secondarily, how well you handle wirelength.

The deadline is when all intern slots for summer 2026 are filled. We will review submissions on a rolling basis.

Problem Statement

  • Objective: Place a set of standard cells and macros on a chip layout to minimize overlap (most important) and wirelength (secondary).
    • Overlap will be measured as num overlapping cells / num total cells, though you are encouraged to define and implement your own overlap loss function if you think it’s better.
    • Solving this problem will require designing a strong overlap loss, tuning hyperparameters, and experimenting with optimizers. Creativity is encouraged — nothing is off the table.
  • Input: Randomly generated netlists.
  • Output: Average normalized overlap (primary metric) and wirelength (secondary metric) across a set of randomized placements.

Submission Instructions

  1. Fork this repository.
  2. Solve the placement problem using your preferred tools or scripts.
  3. Run the first 10 tests to evaluate your solution and obtain the overlap and wirelength metrics. Report Average Overlap, Wirelength and total Runtime. Test cases 11 and 12 are extra credit, give them a shot if you have some time.
  4. Submit a pull request with your updated leaderboard entry and instructions for me to access your actual submission (it's fine if it's public).

Note: You can use any libraries or frameworks you like, but please ensure that your code is well-documented and easy to follow.

Also, if you think there are any bugs in the provided code, feel free to fix them and mention the changes in your submission.

You may submit multiple solutions to try and increase your score.

We will review submissions on a rolling basis.

Leaderboard (sorted by overlap)

RankNameOverlapWirelength (um)Runtime (s)Notes
1Brayden Rudisill0.00000.261150.51Timed on a mac air
2manuhalapeth0.00000.2630196.8
3Neil Teje0.00000.270024.00s
4Leison Gao0.00000.279650.14s
5William Pan0.00000.2848155.33s
6Ashmit Dutta0.00000.2870995.58Spent my entire morning (12 am - 6 am) doing this :P
7Pawan Paleja0.00000.33111.74sImplemented hint for loss func, cosine annealing on learning rate with warmup, std annealing on lambda weight. Used optuna to tune hyperparam. Tested on gh codespaces 2-core.
8Shashank Shriram0.00000.331211.32🏎️💥
9Gabriel Del Monte0.00000.3427606.07
10Aleksey Valouev0.00000.3577118.98
11Mohul Shukla0.00000.504854.60s
12Ryan Hulke0.00000.5226166.24
13Neel Shah0.00000.544545.40Zero overlaps on all tests, adaptive schedule + early stop
14Nawel Asgar0.00000.567581.49Adaptive penalty scaling with cubic gradients and design-size optimization
15Shiva Baghel0.00000.5885491.00Stable zero-overlap with balanced optimization
16Vansh Jain0.00000.935286.36
17Akash Pai0.00060.4933326.25s
18Zade Mahayni0.006650.5157127.4Will try again tomorrow
19Nithin Yanna0.01480.5034247.30saggressive overlap penalty with quadratic scaling
20Sean Ko0.0271.513831.83slr increase, decrease epoch, increase lambda overlap and decreased lambda wire_length + log penalty loss
21Keya Gohil0.01550.46781513.07Still working
22Prithvi Seran0.04990.4890398.58
23partcl example0.80.45example
24Add Yours!

To add your results:
Insert a new row in the table above with your name, overlap, wirelength, and any notes. Ensure you sort by overlap.

Good luck!

About

Challenge for 2026 ML Sys Interns

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages