-
Notifications
You must be signed in to change notification settings - Fork 415
Floorplanning during place moves #1704
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
Conversation
…g legality during placement moves
…g-to-routing/vtr-verilog-to-routing into floorplanning_during_place_moves
…utils. Use this lookup when writing out constraints XML
_4. After that, QoR testing can proceed post-merge
|
@sfkhalid : can you add the testing summary above so we can get this merged? Also, close any comments that you've addressed in the code review. |
I have a testing summary prepared but I have noticed an increase in the place time for LU32 and mcml, (5% and 7% respectively) so I was trying to investigate that first. The results are in the attached file: |
It does seem like there is an increase in place time. Worth running on a controlled machine (e.g. wintermute) to confirm the results are consistent.
|
Yes, I'm currently re-running on wintermute to see if the results are consistent. So far mcml had a shorter place time than the last run. I am waiting for the run to finish to see if this is the same across the circuits. I ran on wintermute the first time as well, for the master branch and this branch. If there is a difference in results, where could that be coming from? Yes, I think if there is an issue it is with the move generators because from the log files the initial placement time didn't change but the overall place time did for mcml.v, (in the run where the place time increased). |
machine load can impact time. Marius killed a bunch of stale processes, so the load may be lower. It's best to run the baseline and the new run under as similar conditions as you can (either run them at the same time, or run one after the other in rapid sucession, and watch the machine load some). |
As suggested, I ran the QoR tests again on both branches, master and place_moves, in succession and monitored the machine load. It looked very similar through both runs, so I think I have a better comparison now. The results show that the differences in place time and total runtime are very small (less than 1% difference) across the vtr benchmarks. Other values stayed the same. |
Testing with sanitizers: I ran vpr on some test constraint cases, and some cases with no constraints on this branch and the master branch. |
@vaughnbetz Given the new QoR comparison and the sanitizer results, do you think this pull request is okay to merge once the CI finishes? |
Looks good. I agree the sanitizer errors aren't related to your code. I believe we suppress those ones in CI (we can't make them go away as they're in libraries). QoR looks OK. |
@vaughnbetz Can we re-start the tests on this PR? The CI had gone completely green before but I've had to restart it a couple of times because by the time it finishes it needs to be updated with the new master branch. Some of the clang tests are failing now, I think they will pass if we run it again though. |
Actually, looking at the log files on the clang tests, it seems there is an error coming up. I am not sure where it is coming from, this PR passed those tests twice in the past few days, so it may be from something that was updated recently in the master branch. |
Strange errors: looks like clang can't find basic things like size_t? I set kokoro:force_rerun to try restarting CI, but looks like that only re-runs the big cpu tests, not clang tests. I'm confident this is unrelated so I'm merging anyway; hopefully this was a transient clang install issue. |
Description
Adding floorplanning constraints checks to the placement move generators. When a move is being proposed, the blocks affected by the move are checked to see if they are moved out of their respective floorplan regions. If a move would cause a block to be moved out of its legal floorplan region, the move is aborted.
Related Issue
Changes related to issue #932