Ah ... I think the problem is that the number of L2's (required by MESI_CMP_directory), has not been defined as 16 (default is 1). [Note that for private L2 coherence protocols like MOESI_hammer the number of L2's is equal to the number of L1's by default, while for shared L2 protocols like MESI_CMP_directory, it is an explicit parameter). Basically the Mesh topology assumes that each router is connected to one L1, one L2 and one Directory. After all 16 L1s, L2s and Directories are connected, the assertion is to check that any node remaining is DMA which is connected to router 0 by default.

So just run this with --num-l2caches=16 and I think it should work.

cheers,
Tushar


On 07/10/2012 12:05 PM, Xi Chen wrote:
Hi Tushar,

Thanks for answering this. I tried your command "./build/ALPHA_MESI_CMP_directory/gem5.opt configs/example/ruby_random_test.py --num-cpus=16 --num-dirs=16 --topology=Mesh --mesh-rows=4 --garnet-network=fixed -l 1000", however problem still exists.
Error message is:
Error: could not create topology Mesh
Traceback (most recent call last):
  File "<string>", line 1, in <module>
File "/home/xchen19/gem5_new/gem5-stable-f75ee4849c40/src/python/m5/main.py", line 359, in main
    exec filecode in scope
  File "configs/example/ruby_random_test.py", line 102, in <module>
    Ruby.create_system(options, system)
File "/home/xchen19/gem5_new/gem5-stable-f75ee4849c40/configs/ruby/Ruby.py", line 139, in create_system
    % options.topology)
  File "<string>", line 1, in <module>
File "/home/xchen19/gem5_new/gem5-stable-f75ee4849c40/src/mem/ruby/network/topologies/Mesh.py", line 80, in makeTopology
    assert(node.type == 'DMA_Controller')
AssertionError

looks like still the old problem.

Thanks,
Xi





Hi Xi,
The Network_test coherence protocol and ruby_network_test.py work in tandem, and is for simulating synthetic network-only traffic.

With other coherence protocols (such as MESI_CMP_directory) as you are using currently, you should use other testers (such as ruby_random_test.py), or run in full-system mode.


./build/ALPHA_MESI_CMP_directory/gem5.opt configs/example/ruby_random_test.py --num-cpus=16 --num-dirs=16 --topology=Mesh --mesh-rows=4 --garnet-network=fixed -l 1000

The "-l" option in the ruby random test specifies the number of cycles for which injection should occur. This tester injects synthetic reads and writes into ruby.

cheers,
Tushar

--
Xi Chen


_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to