问题:在使用ruby memory system中的mesh结构測试时,出现例如以下错误:
Traceback (most recent call last): File "", line 1, in File "/home/fandroid/gem5/src/python/m5/main.py", line 388, in main t = t.tb_next File "configs/example/ruby_fs.py", line 112, in Ruby.create_system(options, system, system.piobus, system._dma_ports) File "/home/fandroid/gem5/configs/ruby/Ruby.py", line 153, in create_system RouterClass) File "/home/fandroid/gem5/configs/topologies/Mesh.py", line 84, in makeTopology assert(node.type == 'DMA_Controller')AssertionError
解决方法:
请看例如以下代码:# 该问题主要是--num-dirs=16没有设置引起的。--garnet-network=flexible也是必需要设置的,否则会出现deadlock错误。build/ALPHA_MOESI_CMP_directory/gem5.debug configs/example/ruby_fs.py -n 16 --l1i_size=32kB --l1d_size=32kB --l2_size=16MB --num-l2caches=16 --topology=Mesh --cpu-type=timing --mesh-rows=4 --num-dirs=16 --garnet-network=flexible