OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

drt: Push node index computation up

Open kbieganski opened this issue 1 year ago • 1 comments

No functional change intended. This speeds up DRT by 3-8%, at least for asap7 (varies depending on the design). Baseline is a recent commit from Oct 6.

asap7/aes - stage 5_2_route - 8 thread(s)

Branch Min [s] Median [s] Relative
Baseline 221.96 222.23 1.03
This PR 215.48 215.91 1.00

asap7/ibex - stage 5_2_route - 8 thread(s)

Branch Min [s] Median [s] Relative
Baseline 337.61 338.30 1.08
This PR 312.99 313.16 1.00

kbieganski avatar Oct 10 '24 13:10 kbieganski

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Oct 10 '24 13:10 github-actions[bot]

@osamahammad21 Have you had a chance to look at this?

kbieganski avatar Nov 14 '24 14:11 kbieganski

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Dec 20 '24 17:12 github-actions[bot]

Can this be reviewed?

kbieganski avatar Jan 03 '25 19:01 kbieganski

@osamahammad21 please review

maliberty avatar Jan 04 '25 05:01 maliberty

I think each switch is a mix of checked and unchecked accesses (the *Fixed* ones are checked, the *Route* ones aren't). For example, see this part which calls this function. So I was confused by the "safe access" comment, thought it was about something else. Anyway, it seems the checks aren't actually needed?

kbieganski avatar Jan 07 '25 21:01 kbieganski

@osamahammad21 In case you missed it

kbieganski avatar Jan 14 '25 11:01 kbieganski

Sorry I didn't notice your comment. It seems that as you said we do not always check the validity of the index which is kind doesn't seem very safe. However, this PR doesn't introduce new problems, So I'll just merge and get back to the index validity later on a separate PR.

osamahammad21 avatar Jan 14 '25 14:01 osamahammad21