Skip to content
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

Assert issue #188

Open
Mathew0553 opened this issue Sep 17, 2024 · 9 comments
Open

Assert issue #188

Mathew0553 opened this issue Sep 17, 2024 · 9 comments

Comments

@Mathew0553
Copy link

Mathew0553 commented Sep 17, 2024

@limbo018
hi Professors Limbo:
i meet the below assert problem when i use DREAMPlace 3.0
problem

at first i try to replace abacus_legalize file folder with DREAMPlace 4.0's , but it will meet another fimiliar assert error at abacus_legalize_cpu.h:94
and next i try to annotate the assert code , it still show the same assert error

how can i fix it or skip it? thanks for reply!

@limbo018
Copy link
Owner

You can disable abacus by commenting out line 735-739 in BasicPlace.py (

pos3 = al(pos1, pos2)
), and replacing line 734 with pos3 = pos2.

Remember to go to the build directory and make install again.

@Mathew0553
Copy link
Author

Mathew0553 commented Sep 17, 2024

You can disable abacus by commenting out line 735-739 in BasicPlace.py (

pos3 = al(pos1, pos2)

), and replacing line 734 with pos3 = pos2.
Remember to go to the build directory and make install again.

@limbo018
i tried follow your steps,it occuer new import mistake, i think i cannot just replace BasicPlace.py as DREAMPlace 4.0 but the other files use by DREAMPlace 3.0;
could you please offer the 3.0‘s solutions?
problem1

@limbo018
Copy link
Owner

Hey, you can simply checkout 3.0 using git, if you just want that version. All versions are available.

https://github.com/limbo018/DREAMPlace/tags

@Mathew0553
Copy link
Author

Hey, you can simply checkout 3.0 using git, if you just want that version. All versions are available.

https://github.com/limbo018/DREAMPlace/tags

yes,professor,i git the checkout tags/3.0.0 and deploy it , is show the unavoidable assert as you can see in first pic, do you think i can just simply commenting out the assertmsg to skip it? or i commenting out the fimiliar line you gave in BasicPlace.py in 3.0 version? thanks for patient!
problem1

@limbo018
Copy link
Owner

limbo018 commented Sep 17, 2024

Does you case contain fence regions? If no fence regions, you only need to replace line 629 in your screenshot with return pos2.

If your case contains fence regions, there is another place that calls abacus legalization in this file. You also need to disable that.

@Mathew0553
Copy link
Author

Mathew0553 commented Sep 17, 2024

Does you case contain fence regions? If no fence regions, you only need to replace line 629 in your screenshot with return pos2.

If your case contains fence regions, there is another place that calls abacus legalization in this file. You also need to disable that.

@limbo018
i just need to get the base result first, dont case the fence regions.
i tried two methods: 1. replace line 629 as return pos2. 2. simply comment out assertmsg
they seemly got the next same cuda assert, which mean i think the second method is work,
problem2
why will it directly lead to cuda invalid device error?

maybe i can comment out all the follow assert? it may lead to catastrophic errors or obtain basic results? do you think its work?

@limbo018
Copy link
Owner

You didn't get what I mean.

  1. You need to disable the entire abacus legalization instead of just commenting out the assertion part.
  2. If you just want to get basic results, you can even disable detailed placement by setting detailed_place_flag to 0 in the json configuration file.
  3. There are two places that will invoke abacus legalization in BasicPlace.py (one for cases with fence regions and the other for cases without fence regions). "Comment out" all of them to disable abacus (I assume you can read python code and be able to make minor modifications).

@limbo018
Copy link
Owner

limbo018 commented Sep 21, 2024

Hi, please checkout commit cd4ecff . I added a flag abacus_legalize_flag to control whether turn on/off abacus legalization. I recommend you to pull the latest develop branch and modify the json file a bit like following:

"global_place_flag" : 1,
"legalize_flag" : 1,
"abacus_legalize_flag" : 0,
"detailed_place_flag" : 0,

You are mostly likely to resolve your issues by turning off abacus legalization and detailed placement. If you can share your testcases, we can also take a look at why abacus legalization or detailed placement fails.

@Mathew0553
Copy link
Author

Hi, please checkout commit cd4ecff . I added a flag abacus_legalize_flag to control whether turn on/off abacus legalization. I recommend you to pull the latest develop branch and modify the json file a bit like following:

"global_place_flag" : 1,
"legalize_flag" : 1,
"abacus_legalize_flag" : 0,
"detailed_place_flag" : 0,

You are mostly likely to resolve your issues by turning off abacus legalization and detailed placement. If you can share your testcases, we can also take a look at why abacus legalization or detailed placement fails.

Thanks for your help so much Professor lim, i have resolved my issues by reinstalled DREAMPlace3.0,but i still be grateful for your patient and guidance too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants