Closed HAOHANZHOU closed 5 months ago
Hi, the RUDY implementation is more based on the following paper. Cheng, Chih-Liang Eric. "RISA: Accurate and efficient placement routability modeling." Proceedings of the 1994 IEEE/ACM international conference on Computer-aided design. 1994.
You are very welcome to contribute new OPs and extend the routability estimation.
Hi! Prof. Lin.
I don't know how to eliminate the randomness caused by the atomicAdd() function in _rudy_cudakernel.cu. I would like the program to run twice with the same result when I use the route utilization map generated by rudy.
Thanks for your reply!
Hi, there are commits to make rudy deterministic in another branch, which is an ongoing task. I can pick the commits to master branch in today or tomorrow.
Hi, please checkout develop branch for this commit (https://github.com/limbo018/DREAMPlace/commit/5199a626314e7e390c593ffa248efe633b37827f). We have added a deterministic_flag
to RUDY as well. Remember to turn deterministic_flag
to 1 in json.
Okay, thank you Prof. Lin.
Hi Dr. Lin,
I just went through the paper (Cheng, Chih-Liang Eric. "RISA: Accurate and efficient placement routability modeling." Proceedings of the 1994 IEEE/ACM international conference on Computer-aided design. 1994.). It seems that they consider the existing wire and blockage while computing the congestion value, they should reduce the routing resource supply, but in the implementation, I did not find any information of existing wires and blockage in the input of RUDY function/class. Are the existing wires and blockages considered in this implementation?
Fixed macros are handled by initial_horizontal_utilization_map
and initial_vertical_utilization_map
in our implementation. If you trace these variables, they are initialized in place_io
.
i.c. Thanks very much!
Hi, does dreamplace/ops/rudy implements RUDY metric mentioned in paper: Fast and Accurate Routing Demand Estimation for Efficient Routability-driven Placement https://ieeexplore.ieee.org/document/4211973 It seems there is no horizontal or vertical congestion concept mentioned in article, but I found them in implementation.