diff options
Diffstat (limited to 'src/mem/ruby/network/topologies/Mesh.py')
-rw-r--r-- | src/mem/ruby/network/topologies/Mesh.py | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/mem/ruby/network/topologies/Mesh.py b/src/mem/ruby/network/topologies/Mesh.py index 6871bec1f..57913e778 100644 --- a/src/mem/ruby/network/topologies/Mesh.py +++ b/src/mem/ruby/network/topologies/Mesh.py @@ -29,28 +29,22 @@ from m5.params import * from m5.objects import * -# # Makes a generic mesh assuming an equal number of cache and directory cntrls -# def makeTopology(nodes, options): num_routers = options.num_cpus num_rows = options.mesh_rows - - # + # There must be an evenly divisible number of cntrls to routers # Also, obviously the number or rows must be <= the number of routers - # cntrls_per_router, remainder = divmod(len(nodes), num_routers) assert(num_rows <= num_routers) num_columns = int(num_routers / num_rows) assert(num_columns * num_rows == num_routers) - # # Add all but the remainder nodes to the list of nodes to be uniformly # distributed across the network. - # network_nodes = [] remainder_nodes = [] for node_index in xrange(len(nodes)): @@ -59,27 +53,22 @@ def makeTopology(nodes, options): else: remainder_nodes.append(nodes[node_index]) - # # Connect each node to the appropriate router - # ext_links = [] for (i, n) in enumerate(network_nodes): cntrl_level, router_id = divmod(i, num_routers) assert(cntrl_level < cntrls_per_router) ext_links.append(ExtLink(ext_node=n, int_node=router_id)) - # - # Connect the remainding nodes to router 0. These should only be DMA nodes. - # + # Connect the remainding nodes to router 0. These should only be + # DMA nodes. for (i, node) in enumerate(remainder_nodes): assert(node.type == 'DMA_Controller') assert(i < remainder) ext_links.append(ExtLink(ext_node=node, int_node=0)) - - # + # Create the mesh links. First row (east-west) links then column # (north-south) links - # int_links = [] for row in xrange(num_rows): for col in xrange(num_columns): |