Can you send me your file and your command line. Might be faster. Tushar
On Nov 28, 2011, at 8:29 PM, tejasi pimpalkhute <[email protected]> wrote: > Hi Tushar, > > No, there was no build error but I got the following error: > > File "<string>", line 1, in <module> > File "/home/tejasi/Music/Gem5/gem5-c226cd1e5e5e/src/python/m5/main.py", > line 356, in main > exec filecode in scope > File "configs/example/ruby_network_test.py", line 108, in <module> > Ruby.create_system(options, system) > File "/home/tejasi/Music/Gem5/gem5-c226cd1e5e5e/configs/ruby/Ruby.py", line > 109, in create_system > % options.topology) > File "<string>", line 1, in <module> > File > "/home/tejasi/Music/Gem5/gem5-c226cd1e5e5e/src/mem/ruby/network/topologies/MeshDirCorners.py", > line 65, in makeTopology > assert(remainder == 0) > AssertionError > > I am not getting what is the remainder value coming out to be because I just > changed the num_dirs and its connections. Could you please help me out with > this? I really appreciate your prompt replies. > > On Sat, Nov 26, 2011 at 11:41 PM, Tushar Krishna <[email protected]> wrote: > Hmm ... I just tried your change and it seems to work fine (except for a > complaint about num_routers/2) > There was no error when you build it after your change right? > > Try to print the value of len(dir_nodes) in the topology file to help debug > ... > > - Tushar > > > > On 11/26/2011 10:44 PM, tejasi pimpalkhute wrote: >> >> HI Tushar, >> >> I ran the following command: >> >> ./build/ALPHA_SE/gem5.opt configs/example/ruby_network_test.py --num-cpus=8 >> --num-dirs=1 --topology=MeshDirCorners --sim-cycles=1000 >> --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1 >> --garnet-network=fixed >> >> On Sat, Nov 26, 2011 at 8:33 PM, Tushar Krishna <[email protected]> wrote: >> Hi Tejasi, >> The assertion for number of directories being 1 failed. >> >> The node type is being set in line 52: >> elif node.type == 'Directory_Controller': >> dir_nodes.append(node) >> >> Are you sure you specified --num-dirs=1 in the command line when you ran it? >> >> - Tushar >> >> >> >> On 11/26/2011 10:06 PM, tejasi pimpalkhute wrote: >>> >>> Hi Tushar, >>> >>> I am trying to create a different topology, similar to mesh but it only has >>> 1 director controller node which will be connected to center node. For >>> this, I am modifying the MeshDirCorners.py file >>> >>> line 66 -- >>> assert(len(dir_nodes) == 1) // changed from 4 to 1 >>> >>> and line 85 >>> # Connect the dir nodes to the corners. >>> ext_links.append(ExtLink(link_id=link_count, ext_node=dir_nodes[0], >>> int_node=mesh.routers[num_routers/2])) >>> link_count += 1 >>> >>> but, I get the following error: >>> >>> Error: could not create topology MeshDirCorners >>> Traceback (most recent call last): >>> File "<string>", line 1, in <module> >>> File "/home/tejasi/Gem5/gem5-c226cd1e5e5e/src/python/m5/main.py", line >>> 356, in main >>> exec filecode in scope >>> File "configs/example/ruby_network_test.py", line 108, in <module> >>> Ruby.create_system(options, system) >>> File "/home/tejasi/Gem5/gem5-c226cd1e5e5e/configs/ruby/Ruby.py", line >>> 109, in create_system >>> % options.topology) >>> File "<string>", line 1, in <module> >>> File >>> "/home/tejasi/Gem5/gem5-c226cd1e5e5e/src/mem/ruby/network/topologies/MeshDirCorners.py", >>> line 66, in makeTopology >>> assert(len(dir_nodes) == 1) >>> AssertionError >>> >>> I am not sure why is this error? Also, how does it know the node type in >>> line 48? Could you please guide me on this? >>> >>> >>> >>> >>> On Sat, Nov 19, 2011 at 11:52 PM, Tushar Krishna <[email protected]> >>> wrote: >>> Hi Tejasi, >>> All routers are identical. Each router connects either to another router, >>> and to one or more controllers. In a mesh topology, router 0 connects to >>> two neighboring routers (to its east and north), an L1 controller, a >>> directory/memory controller and a DMA controller. >>> No a DMA controller is not same as a memory controller. >>> src/mem/ruby/system defines some of the controllers while some are >>> generated per protocol. >>> >>> Hmm all routers inherit from the same base class BasicRouter so are >>> identical ... You could add different functionality for some of the routers >>> by using the router's m_id as a conditional ... ? >>> >>> Routing Table entries: >>> Look at src/mem/ruby/network/Topology.cc >>> The createLinks function calculates shortest distance between nodes and >>> passes this information to makeLinks which in turn calls the makeInLink, >>> makeOutLink and makeInternalLink functions in GarnetNetwork_d.cc which then >>> calls each router and populates its routing tables. >>> >>> cheers, >>> Tushar >>> >>> >>> >>> On 11/19/2011 10:21 PM, tejasi pimpalkhute wrote: >>>> >>>> Hi Tushar, >>>> >>>> Thanks for your reply. Can you please tell me if router[0] which is >>>> connected to DMA_controller(is this same as memory controller?), has any >>>> different structure or functionality than other routers? If yes, could you >>>> please let me know which file has the code for this? If no, could you >>>> please let me know if we can implement a different functionality for just >>>> one router? >>>> Also, regarding routing destinations, can you please tell me where does >>>> the routing_table_entry variable in routing_unit.cc gets its value from? >>>> I am unable to figure these things out by looking at the code and hence >>>> stuck at one point. >>>> Hope to hear from you soon. >>>> >>>> On Thu, Oct 27, 2011 at 9:11 PM, Tushar Krishna <[email protected]> >>>> wrote: >>>> Hi Tejasi, >>>> >>>> In general there is *no fixed rule* for these, and depends on the >>>> coherence protocol. >>>> For most protocols currently in gem5, each "Directory" Controller implies >>>> both a Directory (i.e. state) and a Memory Controller. >>>> The memory controller models the delay to main memory. We don't define and >>>> connect a memory module separately as far as I know. >>>> The number of directories is an independent parameter defined from command >>>> line (--num-dirs). >>>> >>>> If you take a look at configs/ruby/MOESI_CMP_directory.py, >>>> you can see that it creates L1 controllers, L2 controllers and Directory >>>> Controllers (in which it creates both a DirectoryMemory => state, and a >>>> memory controller). >>>> Now when the directory receives a request that is not currently on-chip >>>> (indicated by directory state), it sends the request to the memory >>>> controller which models memory delay for reads/writes etc ... [done in the >>>> protocol's .sm file]. >>>> >>>> In terms of connections, all controllers (L1, L2 and Directory) can be >>>> connected in any manner. >>>> We provide two mesh topologies: Mesh.py and MeshDirCorners.py. >>>> Both topologies create a Mesh with the number of routers = number of cpus >>>> (=number of L1s). >>>> Mesh.py assumes equal number of all controllers (L1, L2 and directory), >>>> and connects one L1, one L2 (if it exists) and one directory to each >>>> network router. >>>> MeshDirCorners.py assumes 4 directories and connects them at each corner. >>>> All DMA controllers are just connected to router 0 (arbitrary decision) I >>>> think. >>>> >>>> You can design your own topology too using the given ones as reference. >>>> You just need to add a .py file of your topology in the topologies folder, >>>> and also add it in >>>> src/mem/ruby/network/topologies/SConscript >>>> >>>> Hope this helps, >>>> Tushar >>>> >>>> >>>> >>>> On 10/27/2011 4:09 PM, tejasi pimpalkhute wrote: >>>>> Hi, >>>>> >>>>> I was looking into the code file Mesh.py in Topology folder and the >>>>> online documentation for it says that every node has L1,L2 cache and >>>>> directories connected to it. >>>>> As I had read somewhere, in Gem5, directory controller and memory >>>>> controller are same, could you please >>>>> let me know if Directory connected to each node is same as >>>>> main memory? Also, it seems that DMA controller is attached to only >>>>> remainder nodes as per the code. So, it is a little bit confusing. Could >>>>> you please elaborate the connections of nodes to memory controller and >>>>> main memory. >>>>> >>>>> Thanks! >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> gem5-users mailing list >>>>> [email protected] >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>> >>>> _______________________________________________ >>>> gem5-users mailing list >>>> [email protected] >>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Tejasi >>>> >>>> >>>> >>>> _______________________________________________ >>>> gem5-users mailing list >>>> [email protected] >>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>> >>> _______________________________________________ >>> gem5-users mailing list >>> [email protected] >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >>> >>> >>> >>> -- >>> Thanks and Regards, >>> Tejasi >>> >>> >>> >>> _______________________________________________ >>> gem5-users mailing list >>> [email protected] >>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> >> _______________________________________________ >> gem5-users mailing list >> [email protected] >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >> >> >> >> -- >> Thanks and Regards, >> Tejasi >> >> >> >> _______________________________________________ >> gem5-users mailing list >> [email protected] >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > > > -- > Thanks and Regards, > Tejasi > > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
