Files
OpenSTA/search
Drew 65bd9df5f7 Chunk vertices in BFS parallel iteration for dynamic load balancing
Dispatch fixed-size chunks (8 vertices per task) instead of one
contiguous slice per thread, so threads that finish early pick up more
work. Chunk size vs. runtime is U-shaped; 8 is the smallest size at the
bottom of the curve.

report_checks on a 32-core machine (min of 5 runs):
- gcd_sky130hd, 32 threads: 1845 us -> 1255 us (-32%)
- gcd_sky130hd,  8 threads: 1254 us -> 1117 us (-11%)
- aes_nangate45 (~17k inst): neutral; single-threaded path unchanged.

To keep upstream merges clean, the fork logic lives in a new
BfsIterator::visitLevelChunked() wrapped in "OpenROAD fork: BFS chunked
dispatch" markers, called from one marked line in visitParallel's
existing else branch. All other upstream lines are byte-identical. This
is a stop-gap until the upstream BFS rework lands; on merge conflict
take upstream and drop it.

Signed-off-by: Drew <[email protected]>
2026-08-27 08:50:21 -04:00
..
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-15 09:38:10 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-07-04 09:04:31 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-01-13 09:36:45 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-05-05 14:27:30 -07:00
2026-04-13 14:59:05 -07:00
2026-07-04 09:04:31 -07:00
2026-06-18 13:52:47 -07:00
2026-04-13 14:59:05 -07:00
2026-06-18 13:52:47 -07:00
2026-04-23 18:12:40 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-01-13 09:36:45 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-06-06 11:55:51 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-23 18:12:40 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00
2026-04-13 14:59:05 -07:00