-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KLayout DRC Performance - more than 10hrs for some user projects #1
Comments
Thank you |
Intermediate data point: With this PR #5 and the "wip" branch of KLayout (KLayout/klayout@1387498): deep mode, no connectivity, one thread CPU is i7-4800MQ, 2.7GHz
|
@klayoutmatthias That's impressive. |
Deep mode issuesDeep mode seems to break klayout, not sure if it's a python script issue or a klayout issue command:
Error:
versionsklayout commit: ImprovementsMaybe when an error like this one occurs, klayout can report a more meaningful STDERR |
Flat mode improvementsRunning in flat mode on the large test took 6h48m, which is a huge improvement from the previous 16 to 18 hours. command:
versionsklayout commit: |
@marwaneltoukhy I guess it is "thr=150" which breaks deep mode. Multiple cores do not really speed up in deep mode. For now, one thread is enough. Please use commit KLayout/klayout@1387498 for wip branch, although I don't think that fixes the crash. Matthias |
KLayout wip branch has been merged to master. You can use that one. |
@klayoutmatthias when you are going to release that as an official release. |
My plan is end of next week. You can help by giving feedback. Like telling me if you encounter issues worth fixing before. BTW: here are some datapoints for thread scaling (again deep mode, large test case, klayout master branch). I have only 4 cores, so I can't report performance scaling beyond that, but memory effect I can:
So there is only a small effect and it is likely that this happens on checks that can be optimized anyway. I'm using Python driver on Ubuntu 22.04:
@marwaneltoukhy No crash observed. I don't have memory to run 150 threads in parallel, so my advise is to simply not use so many threads. |
@klayoutmatthias will do some tests at my end. And provide feedback. |
@atorkmabrains Very good. Thanks. Not too many issues, please :) |
@klayoutmatthias I have opened issues on the repo: https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr |
Expected Behavior
user_project_wrapper: Runs under 1min :-)
Actual Behavior
user_project_wrapper: Takes 12mins to run the full DRC deck in flat mode
Steps to reproduce
Download the repo and use the run_drc.py command on the following GDS:
https://github.com/mabrains/globalfoundries-pdk-libs-gf180mcu_fd_pr/blob/main/rules/klayout/drc/run_drc.py
https://github.com/efabless/caravel_user_project/blob/gf180mcu/gds/user_project_wrapper.gds
Here is the run command:
python run_drc.py --gf180mcu=C --path=./user_project_wrapper.gds
Links to test cases
small: https://github.com/efabless/caravel_user_project/blob/gf180mcu/gds/user_project_wrapper.gds
medium: https://github.com/XDflight/ParaRAM/blob/c306db33edc38deed16b621a9c67fa48df8664f1/gds/user_project_wrapper.gds.gz
large: https://github.com/efabless/caravel-gf180mcu/blob/PnR/gds/caravel_core.gds.gz
Specifications
The text was updated successfully, but these errors were encountered: