An two other questions:

1. What should I do to change the O3 parameters such as issueWidth,
commitWidth, etc? I added a few lines in se.py as below. It runs fine if I
just run the benchmarks, but if I resume a checkpoint (created without -d
option), then it will complain the CPU class has no such parameters. I think
these parameters can only be set after M5 performs CPU mode switch, then how
can I set these parameters so that M5 will use them after switching CPU
mode?

 if options.detailed:
    CPUClass.commitWidth    = 4
    CPUClass.decodeWidth    = 4
    CPUClass.dispatchWidth  = 4
    CPUClass.fetchWidth     = 4
    CPUClass.issueWidth     = 4
    CPUClass.commitWidth    = 4
    CPUClass.renameWidth    = 4
    CPUClass.squashWidth    = 4
    CPUClass.wbWidth        = 4
    CPUClass.numROBEntries  = 128
    CPUClass.numIQEntries   = 36
    CPUClass.LQEntries      = 48

2. When I resume a checkpoint with -d --caches options, I got RuntimeError:
Attempt to instantiate orphan node. I am trying to figure out what the
orphan node is. What should I do to find the orphan node? I tried "print
self.name" in File "/afs/
crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py", line 822, in
getCCObject, but got nothing.


command line: ./build/ALPHA_SE/m5.opt configs/example/se.py --bench bzip2
--checkpoint-restore=0 --simpoint -d --caches --l2cache
2200
m5out/cpt.bzip2.2200
Global frequency set at 1000000000000 ticks per second
Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/main.py", line
359, in main
    exec filecode in scope
  File "configs/example/se.py", line 179, in ?
    Simulation.run(options, root, system, FutureClass)
  File "/afs/
crc.nd.edu/user/s/sli2/m5-work-stable/configs/common/Simulation.py", line
236, in run
    m5.instantiate(checkpoint_dir)
  File "/afs/crc.nd.edu/user/s/sli2/m5-work-stable/src/python/m5/simulate.py",
line 77, in instantiate
    for obj in root.descendants(): obj.createCCObject()
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 841, in createCCObject
    def createCCObject(self):
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 796, in getCCParams
    value = value.getValue()
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 845, in getValue
    def getValue(self):
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 826, in getCCObject
    self._ccObject = -1
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 796, in getCCParams
    value = value.getValue()
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/params.py", line
183, in getValue
    return [ v.getValue() for v in self ]
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 845, in getValue
    def getValue(self):
  File "/afs/crc.nd.edu/user/s/sli2/m5-stable/src/python/m5/SimObject.py",
line 822, in getCCObject
    #print self.name
RuntimeError: Attempt to instantiate orphan node

Thanks a lot!
-Sheng


On Wed, Feb 9, 2011 at 4:03 PM, Sheng Li <[email protected]> wrote:

> Thanks Joel!
>
> Yes, I did. The checkpoint created with 4096MB has problem as lots of
> information is missing. Is it possible that checkpoint does not support
> larger memory (i.e 4096MB) in M5?
>
> Thanks
> -Sheng
>
>
>
>
> On Wed, Feb 9, 2011 at 3:31 PM, Joel Hestness <[email protected]>wrote:
>
>> Hi Sheng,
>>   Did you collect the checkpoints from a simulated system with 512MB of
>> memory?  The checkpoints encode the current state of memory in the simulated
>> system including the capacity, so you'll need to make sure that the
>> simulated system in both runs (to collect the checkpoint and to restore from
>> it) use the same amount of simulated memory.
>>   More generally, an M5 checkpoint is specific to the ISA/architecture,
>> number of cores, and the capacity of memory in the simulated system that you
>> collect the checkpoint from.
>>   Hope this helps,
>>   Joel
>>
>>
>> On Wed, Feb 9, 2011 at 12:41 PM, Sheng Li <[email protected]> wrote:
>>
>>> After spending several hours to guess what was wrong, here are my
>>> findings:
>>>
>>> It seems that if I set PhysicalMemory as 512MB, checkpointing can work.
>>> However, if I set  it as 4096MB (I did this because SPECCPU2006 requires at
>>> least 2GB free memory), checkpoint will not work. The place I changed this
>>> is in common/example/se.py
>>>
>>> system = System(cpu = [CPUClass(cpu_id=i) for i in xrange(np)],
>>>                 physmem = PhysicalMemory(range=AddrRange("4096MB")),
>>>                 membus = Bus(), mem_mode = test_mem_mode)
>>>
>>> Could anyone give some suggestions?
>>>
>>> Thanks!
>>> -Sheng
>>>
>>>
>>>
>>> On Wed, Feb 9, 2011 at 12:05 AM, Sheng Li <[email protected]> wrote:
>>>
>>>> Hi Guys,
>>>>
>>>> I tried to use checkpoints in M5 but could not have it work. I used
>>>> ALPHA_SE.
>>>>
>>>> The commands I use to create/resume checkpoints are M5 outputs are:
>>>>
>>>> Creating checkpoint:
>>>> ______________________
>>>> [sli2@newcell ~/m5-work-stable]$ ./build/ALPHA_SE/m5.opt
>>>> configs/example/se.py --bench bzip2 --take-checkpoint=2200 --at-instruction
>>>> ...
>>>> command line: ./build/ALPHA_SE/m5.opt configs/example/se.py --bench
>>>> bzip2 --take-checkpoint=2200 --at-instruction
>>>> 2200000000
>>>> Global frequency set at 1000000000000 ticks per second
>>>> 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
>>>> Creating checkpoint at inst:2200
>>>> info: Entering event queue @ 0.  Starting simulation...
>>>> info: Increasing stack size by one page.
>>>> hack: be nice to actually delete the event here
>>>> exit cause = a thread reached the max instruction count
>>>> Writing checkpoint
>>>> Checkpoint written.
>>>> Exiting @ cycle 1111000 because a thread reached the max instruction
>>>> count
>>>>
>>>> Resume checkpoint:
>>>> _________________________
>>>> command line: ./build/ALPHA_SE/m5.opt configs/example/se.py --bench
>>>> bzip2 --checkpoint-restore=2200 --at-instruction
>>>> 2200000000
>>>> Global frequency set at 1000000000000 ticks per second
>>>> 0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
>>>> warn: optional parameter system.cpu.workload:M5_pid not present
>>>> For more information see: http://www.m5sim.org/warn/aa78cda1
>>>> **** REAL SIMULATION ****
>>>> info: Entering event queue @ 1111000.  Starting simulation...
>>>> hack: be nice to actually delete the event here
>>>> Exiting @ cycle 1111500 because halt instruction encountered <--Here is
>>>> the problem.
>>>>
>>>> Any help would be highly appreciated!
>>>>
>>>> Thanks
>>>> -Sheng
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> m5-users mailing list
>>> [email protected]
>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>
>>
>>
>>
>> --
>>   Joel Hestness
>>   PhD Student, Computer Architecture
>>   Dept. of Computer Science, University of Texas - Austin
>>   http://www.cs.utexas.edu/~hestness
>>
>> _______________________________________________
>> m5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>
>
>
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to