gem5: 使用ruby memory system中的mesh结构 出现AssertionError错误

问题:在使用ruby memory system中的mesh结构測试时,出现例如以下错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  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 <module>
    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
posted @ 2017-07-10 17:54  mfmdaoyou  阅读(709)  评论(0编辑  收藏  举报