-
Notifications
You must be signed in to change notification settings - Fork 414
Support 3D Custom Switch Blocks #2370
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
…et switchblock pattern custom work for 3d
…sed on layer number
…more than one layer
…nal nodes have been defined
…th channel from one layer to another
1bfc97f
to
99a7f2a
Compare
…t custom switch blocks
…f edge generation
…rilog-to-routing into 3d_track_to_track_conn
@@ -2461,6 +2461,13 @@ argparse::ArgumentParser create_arg_parser(const std::string& prog_name, t_optio | |||
.default_value("false") | |||
.show_in(argparse::ShowIn::HELP_ONLY); | |||
|
|||
route_grp.add_argument(args.custom_3d_sb_fanin_fanout, "--custom_3d_sb_fanin_fanout") |
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.
This seems like it would fit better in the arch file (as a new parameter) than as a command line parameter. What do you think?
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.
I also think that it might be better to put it in the architecture file, but for now I just keep it as it is to make the testing easier with command line option. When the branch is final, I will talk to you about the architecture change.
@@ -2333,7 +2338,7 @@ static void get_switchblocks_edges(RRGraphBuilder& rr_graph_builder, | |||
++edge_count; | |||
|
|||
//we only add the following edge between intermediate nodes once for the first 3D connection for each pair of intermediate nodes |
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.
Is there a big comment somewhere saying how custom_3d_sb_fanin_fanout works? It should detail exactly what the rr graph this generates looks like.
Quite a few CI failures ... can you take a look @saaramahmoudi ? |
Yes, I will. But before that, we still have some routing problem that might be related to router lookahead. I already talked to @amin1377, and he agreed to take a look into the new commits. After we found all bugs, I will investigate CI issues. |
…rilog-to-routing into 3d_track_to_track_conn
Please go ahead and merge this after the conflicts are resolved, and a QoR test on Titan to ensure 2D QoR isn't affected.
|
Issue #2694 is tracking the updates listed above. |
…rilog-to-routing into 3d_track_to_track_conn
…rilog-to-routing into 3d_track_to_track_conn
…r is added to the heap
@@ -1015,6 +1019,10 @@ t_bb ConnectionRouter<Heap>::add_high_fanout_route_tree_to_heap( | |||
if (!inside_bb(rr_node_to_add, net_bounding_box)) | |||
continue; | |||
|
|||
auto rt_node_layer_num = rr_graph_->node_layer(rr_node_to_add); |
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.
Need to comment what you are doing here and why.
Looks good. One commenting update requested, plus we should add the missing comments I flagged before. I'll create an issue to track that. |
3D arch status:
|
Description
This pull request support 3d custom switch blocks in the architecture file and automatically add the inter-die edges between tracks in different layer to RR graph.
Types of changes
Checklist: