Почему запуск memtest.py на gem5 приводит к ошибке с аргументами --cpu-type? - PullRequest
0 голосов
/ 17 сентября 2018

Memtest.py работает нормально следующим образом:

     build/X86/gem5.opt configs/example/memtest.py 

Но когда я даю с аргументами, это не дает такой ошибки:

build/X86/gem5.opt configs/example/memtest.py --cpu-type=TimingSimpleCPU
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Jul 27 2018 14:19:35
gem5 started Sep 17 2018 15:31:03
gem5 executing on 2030044470, pid 5045
command line: build/X86/gem5.opt configs/example/memtest.py --cpu-type=TimingSimpleCPU

Usage: memtest.py [options]

memtest.py: error: no such option: --cpu-type

С другой стороны, se.py и fs.py отлично работают с дополнительными аргументами:

build/X86/gem5.opt configs/example/se.py -c /home/prakhar/gem5/tests/test-progs/hello/bin/x86/linux/hello --cpu-type=TimingSimpleCPU 

Есть ли способ запустить memtest.py с аргументами --cpu-type и --mem-type?

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Ну, я боролся с этой проблемой, а затем я нашел эту строку в gem5 / configs / example / memtest.py:

system = System(physmem = SimpleMemory(),cache_line_size = block_size)

Если вы хотите работать с любой другой памятью, т.е.DRAMSim2 вы можете изменить эту строку.

system = System(physmem = DRAMSim2(),cache_line_size = block_size)

Это позволит запустить memtest.py с типом памяти как DRAMSim2. Теперь вы можете это как:

build/X86/gem5.opt configs/example/memtest.py

Также для изменения типа процессораypu может ссылаться на строки:

if options.atomic:
    root.system.mem_mode = 'atomic'
else:
    root.system.mem_mode = 'timing'

Тип процессора по умолчанию - это хронометраж, и вы можете изменить его на атомарный, добавив в команду --atomic.

0 голосов
/ 17 сентября 2018

Как сообщает ошибка, такой опции нет.

Тип процессора добавлен для se.py и fs.py при вызове

Options.addCommonOptions(parser)

Вы можете добавить как тип процессора, так и тип памяти вручную, выполнив действия, аналогичные

.
from m5.util import addToPath, fatal
addToPath('../')
from common import CpuConfig
from common import MemConfig

И добавление параметров в парсер

parser = optparse.OptionParser()

# Other parser options

parser.add_option("--cpu-type", type="choice", default="AtomicSimpleCPU",
                  choices=CpuConfig.cpu_names(),
                  help = "type of cpu to run with")
parser.add_option("--mem-type", type="choice", default="DDR3_1600_8x8",
                  choices=MemConfig.mem_names(),
                  help = "type of memory to use")

Затем параметры добавляются как options.cpu_type и options.mem_type . Вы можете проверить другие примеры (в config / example /), чтобы узнать, нужно ли вам изменять другие вещи, чтобы соответствовать вашим намерениям.

...