Hello all,

I met a error when running mesh topology:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/yuhang/gem5/src/python/m5/main.py", line 387, in main
    exec filecode in scope
  File "configs/example/se.py", line 209, in <module>
    Ruby.create_system(options, system)
  File "/home/yuhang/gem5/configs/ruby/Ruby.py", line 192, in create_system
    assert(total_mem_size.value == phys_mem_size)
AssertionError


However, this error doesn't exist with mesh-rows=4 (16 cpus, dirs, and l2caches), and mesh-rows=8 (64 cpus, dirs, and l2caches). All other configurations I tried met this error.


I found this question exactly same as my problem:

http://comments.gmane.org/gmane.comp.emulators.m5.users/7791

I debugged Ruby.py, ran with 36 directories (mesh-rows=6) and get

total_mem_size.value= 536870880
phys_mem_size= 536870912

So there is a slight difference between these two value when the number of directories are not 16 and 64, and thus raise the error.

This is how the codes in ruby.py get the value:

for dir_cntrl in dir_cntrls:
        total_mem_size.value += dir_cntrl.directory.size.value

The physical memory size 536870912 is exactly 512M. A single dir_cntrl.directory.size.value is 14913080, times 36, equals to 536870880. That's the total_mem_size.value

But I'm not quite understand the reason he explained. How can I solve this problem? Could I just ignore the error and comment the assert line "assert(total_mem_size.value == phys_mem_size)" in ruby.py?

Thanks,
Yuhang


_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to