Closed tstren1223 closed 2 years ago
Thanks for reporting the issue.
Could you help list the paper that you referred to so that I can confirm the task that ripple
is supposed to work on?
Sure. The papers I mentioned are as follows: https://www.researchgate.net/publication/221627056_Ripple_An_effective_routability-driven_placer_by_iterative_cell_movement https://ieeexplore.ieee.org/document/6560745 https://dl.acm.org/doi/abs/10.1145/2925989 And the benchmarks I tried are as follows: https://www.ispd.cc/contests/11/ispd2011_contest.html http://archive.sigda.org/dac2012/contest/dac2012_contest_benchmarks.html#head-designs BTW, when I used the superblue1 in ISPD11 with the following command ./placer -bookshelf dac2012 -aux ../superblue1/superblue1.aux -pl ../superblue1/superblue1.pl -flow dac2016 -cpu 1, it showed that bad::alloc. Thanks for your help.
Hi~I want to add some information about this issue. 1. I find that Ripple for these benchmark will produce the information like this: [ 11.928]E Top power rail of the row at y=1800 is not connected to power rail [ 11.928]W Bottom power rail of the row at y=1800 is not connected to power rai l [ 11.928]E Top and Bottom power rail of the row at y=1800 share the same power x [ 11.928]E Bottom power rail of the row at y=2700 is not connected to power rail
Oddly, these messages show up in every superblue data with the same content since I've tried so far. 2. Even though Ripple still run after messages showing up, it will proceed unbelievablely slow in this method: DPlacer::legalizeCell(const int threshold, const unsigned iThread) I am not sure whether it is normal for the size of variable "operatingRegions" to decrease only 1 per second. This speed rate is the main problem for why it cannot stop. PS: the original size for "operatingRegions" is about 500000.
Hi~I want to add some information about this issue. 1. I find that Ripple for this benchmark will produce the information like this: [ 11.928]E Top power rail of the row at y=1800 is not connected to power rail [ 11.928]W Bottom power rail of the row at y=1800 is not connected to power rail [ 11.928]E Top and Bottom power rail of the row at y=1800 share the same power x [ 11.928]E Bottom power rail of the row at y=2700 is not connected to a power rail
Oddly, these messages show up in every super blue data with the same content since I've tried so far. 2. Even though Ripple still runs after messages show up, it will proceed unbelievably slow in this method: DPlacer::legalizeCell(const int threshold, const unsigned iThread) I am not sure whether it is normal for the size of variable "operatingRegions" to decrease only 1 per second. This speed rate is the main problem for why it cannot stop. PS: the original size for "operatingRegions" is about 500000.
Thanks for providing detailed information.
The default value of DPModule::LGOperRegSize
is 256 so I think it's not expected to have such large operatingRegions
with size 500k.
Oh... Then, in this case, what actions do you suggest me to take? Or, Is there any direction for me to debug by myself? In addtion, is it right for typing the command "./placer -bookshelf dac2012 -aux ../superblue1/superblue1.aux -pl ../superblue1/superblue1.pl -flow dac2016 -cpu 1"?
Or can you use this sourcecode for benchmark superblue and tell me how you work with it? Thanks.
Oh... Then, in this case, what actions do you suggest I take? Or, Is there any direction for me to debug by myself? In addition, is it right for typing the command "./placer -bookshelf dac2012 -aux ../superblue1/superblue1.aux -pl ../superblue1/superblue1.pl -flow dac2016 -cpu 1"?
Or can you use this source code for benchmark super blue and tell me how you work with it? Thanks.
Thanks for providing the command.
Flow dac2016
is used for multi-row cell legalization and no global placement is conducted.
Could you try with -flow default
instead?
Soory, but It still run overtime with that comment.
Sorry, but It still run overtime with that comment.
It seems that the global placement module is not compiled in the binary. Can you help confirm the command used to compile the binary?
Sorry, but It still run overtime with that comment.
It seems that the global placement module is not compiled in the binary. Can you help confirm the command used to compile the binary?
I have no problems now, thank you.
Sorry, but It still run overtime with that comment.
It seems that the global placement module is not compiled in the binary. Can you help confirm the command used to compile the binary?
I have no problems now, thank you.
The compilation command make mode=release
is mainly for detailed placement tasks.
Can you try compiling with make mode=release gp=
?
yeah it works. you can close this. Thanks.
@tstren1223 Sorry to bother you,Can I ask you what commands are you typed to run the placer.
Is ./placer -bookshelf dac2012 -aux ../superblue4/superblue4.aux -pl ../superblue4/superblue4.pl -flow default -cpu 4
?
yeah it works. you can close this. Thanks.
Thanks for the confirmation. I will close the issue if there is no more question related to compilation.
@tstren1223 I will close the issue if there is no more question related to compilation.
Hi there, I found this when I read your papers about Ripple, and I'm surprised by its fastness on benchmark superblue19 within 35 mins as the paper read. Then, I decided to utilize your opensource and expect to see the same result by my self. However, When I run Ripple on the Ubuntu 18.0.4 workstation with 3.6GZ 8RAM 4 cores, I found it took more than a few hours. (Actually it was overtime.) Thus, I'm curious about whether there are some details I don't know. First, I follow your two steps to build Ripple. Second, I run the following command in ripple/bin to execute it: ./placer -bookshelf dac2012 -aux ../superblue4/superblue4.aux -pl ../superblue4/superblue4.pl -flow dac2016 -cpu 4 Is there any difference between when you used Ripple in the contest and when it is now,which may incur too much time here?