Skip to content

Commit

Permalink
Impl. latency control to MeshDirCorners_XY topology
Browse files Browse the repository at this point in the history
  • Loading branch information
Mine02C4 committed Feb 1, 2022
1 parent 00e038c commit 2bd24cb
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions configs/topologies/MeshDirCorners_XY.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ def makeTopology(self, options, network, IntLink, ExtLink, Router):
link_latency = options.link_latency # used by simple and garnet
router_latency = options.router_latency # only used by garnet

injection_extlink_latency = options.injection_extlink_latency
ejection_extlink_latency = options.ejection_extlink_latency

# First determine which nodes are cache cntrls vs. dirs vs. dma
cache_nodes = []
Expand Down Expand Up @@ -92,7 +94,8 @@ def makeTopology(self, options, network, IntLink, ExtLink, Router):
assert(cntrl_level < caches_per_router)
ext_links.append(ExtLink(link_id=link_count, ext_node=n,
int_node=routers[router_id],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))
link_count += 1

# NUMA Node for each quadrant
Expand All @@ -119,27 +122,32 @@ def makeTopology(self, options, network, IntLink, ExtLink, Router):
# Connect the dir nodes to the corners.
ext_links.append(ExtLink(link_id=link_count, ext_node=dir_nodes[0],
int_node=routers[0],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))
link_count += 1
ext_links.append(ExtLink(link_id=link_count, ext_node=dir_nodes[1],
int_node=routers[num_columns - 1],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))
link_count += 1
ext_links.append(ExtLink(link_id=link_count, ext_node=dir_nodes[2],
int_node=routers[num_routers - num_columns],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))
link_count += 1
ext_links.append(ExtLink(link_id=link_count, ext_node=dir_nodes[3],
int_node=routers[num_routers - 1],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))
link_count += 1

# Connect the dma nodes to router 0. These should only be DMA nodes.
for (i, node) in enumerate(dma_nodes):
assert(node.type == 'DMA_Controller')
ext_links.append(ExtLink(link_id=link_count, ext_node=node,
int_node=routers[0],
latency = link_latency))
injection_link_latency = injection_extlink_latency,
ejection_link_latency = ejection_extlink_latency))

network.ext_links = ext_links

Expand Down

0 comments on commit 2bd24cb

Please sign in to comment.