-
Notifications
You must be signed in to change notification settings - Fork 414
RRGraphView edges(), num_edges(), configurable_edges(), non_configurable_edges(), num_configurable_edges(), num_non_configurable_edges() Implementation #1917
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
RRGraphView edges(), num_edges(), configurable_edges(), non_configurable_edges(), num_configurable_edges(), num_non_configurable_edges() Implementation #1917
Conversation
@@ -90,10 +90,6 @@ inline t_edge_size t_rr_node::num_non_configurable_edges() const { | |||
return storage_->num_non_configurable_edges(id_); | |||
} | |||
|
|||
inline t_edge_size t_rr_node::num_configurable_edges() const { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good. Can you double check this removal in the #1916?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@behzadmehmood-rs Please check my comments on the rr_graph_uxsdcxx_serializer.h
This PR is almost there.
After applying these comments, please wait until the CI is green before starting QoR tests.
QoR tests are complete and quick summary is given below. QoR comparison files are also attached. |
@behzadmehmood-rs Thanks for the effort. It looks fine. Can you compare to current master also (see if the runtime overhead is indeed due to this PR or not)? |
|
QoR tests for master branch are complete and quick summary is given below. QoR comparison files are also attached. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@behzadmehmood-rs I see the runtime overhead. They are mainly from placement and routing. It indicates that our modification slows down the algorithm. I suspect the use of RRGraphView in rr_node.cpp
is the source. Would you mind revert it to previous codes for validate()? See if this is the cause or not.
Sure, will do that. |
QoR tests after reverting changes for validate() are complete and quick summary is given below. QoR comparison files are also attached. |
@tangxifan I have compared results after reverting changes for validate() and uploaded the files. Should I push changes to the branch? |
Is it compared to the current master or a branch which is created before the whole refactoring effort? |
It is compared with |
@behzadmehmood-rs Sure. Can you let me know any changes on the runtime when reverted? |
@tangxifan following changes were made. |
@behzadmehmood-rs Can you show me the changes on runtime? I am cool with the code changes. |
QoR comparison results with master branch and the current branch after reverting cahnges for validate() are given below. QoR comparison files are also attached. titan_quick_qor_master.xlsx |
This looks good to me now. Please revert the changes. Thanks a lot! |
I have pushed reverted changes. |
@behzadmehmood-rs No worries. Can you fix the errors in CI? |
@tangxifan kindly review. |
@behzadmehmood-rs Look good to me. I propose to merge this week. Good work. |
@vaughnbetz I have reviewed this PR several times. QoR test is clean. I propose to merge. If you see any issue, feel free to comment. I will actively work on it. |
Description
In this PR, I am implementing
RRGraphView::edges()
,RRGraphView::num_edges()
,RRGraphView::configurable_edges()
,RRGraphView::non_configurable_edges()
,RRGraphView::num_configurable_edges()
andRRGraphView::num_non_configurable_edges()
throughout VTR. Eachdevice_ctx.rr_nodes[node].edges()
call has been replaced withrr_graph.num_edges(RRNodeId(node))
. The same pattern was followed for the other functions in this PR. In order to do this, I followed a pattern similar to that in the last PR.Related Issue
Motivation and Context
These changes are a continuation of the RRGraphView API implementation effort.
How Has This Been Tested?
Types of changes
Checklist: