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