On 11/30/2012 11:21 AM, Nilay Vaish wrote:
On Fri, 30 Nov 2012, hanfeng QIN wrote:


On 11/29/2012 01:07 AM, Nilay Vaish wrote:
On Wed, 28 Nov 2012, hanfeng QIN wrote:

I used mercurial to clone the latest version of gem5 in development repository. By the way, I used to work on the stable release, however, when I was trapped in a coherence protocol error then I switched to the development repository to work around that error.


Take a look at this patch that was committed recently - http://repo.gem5.org/gem5/rev/96ae1c545fb5

I think if you revert the change made to the file configs/common/Simulation.py, you should be able to get the simulation working.

--
Nilay
Thanks for your help, Nilay. Actually, the source codes I currently used have contained this patch. But it still failed.


You did not read my email correctly. I asked you to revert the patch, which means undo what the patch does to configs/common/Simulation.py.

--
Nilay
I apologize for my carelessness, Nilay. I am sorry to say that I still can not prevent the error even I revert the patch. To make you understand my simulation flow, I list my process as following.

Step 1: I made a checkpoint using TimingSimple CPU type.

$build/ALPHA_MESI_CMP_directory/gem5.opt -d ../exp/2012-11-30-ruby_ckpt configs/example/se.py -n 2 --caches --l1d_size=32kB --l1d_assoc=2 --l1i_size=32kB --l1i_assoc=2 --l2cache --l2_size=4MB --l2_assoc=8 --num-l2caches=1 -c ../app/mcf_base.alphaev67-gcc44-nn;../app/bzip2_base.alphaev67-gcc44-nn -o ../app/inp.in > inp.out 2>> inp.err;../app/input.program 10 > input.program.out 2>> input.program.err *-I 50000000 --checkpoint-at-end --cpu-type=timing*

Step 2: I restored from the checkpoint using TimingSimple CPU type and after cache warmed up then switch to O3 cpu type for detailed measurement.

$build/ALPHA_MESI_CMP_directory/gem5.opt -d ../exp/2012-11-30-ruby_ckpt --stats-file=stats.ruby configs/example/se.py -n 2 --caches --l1d_size=32kB --l1d_assoc=2 --l1i_size=32kB --l1i_assoc=2 --l2cache --l2_size=4MB --l2_assoc=8 --num-l2caches=1 -c ../app/mcf_base.alphaev67-gcc44-nn;../app/bzip2_base.alphaev67-gcc44-nn -o ../app/inp.in > inp.out 2>> inp.err;../app/input.program 10 > input.program.out 2>> input.program.err *-I 100000000 --ruby -W 20000 --restore-with-cpu=timing --cpu-type=timing -r 1 -s 1*

As I mentioned previously, if '-s' not specified, '-W' does not work according to config/common/simulation.py script. However, in this case, the errors occurred again.

Global frequency set at 1000000000000 ticks per second
warn: CoherentBus system.membus has no snooping ports attached!
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
warn: optional parameter system.cpu0.workload:M5_pid not present
warn: optional parameter system.cpu1.workload:M5_pid not present
info: Entering event queue @ 75224531000.  Starting simulation...
hack: be nice to actually delete the event here
Switched CPUS @ tick 75224587000
Changing memory mode to timing
System already in target mode. Memory mode unchanged.
switching cpus
gem5.opt: build/ALPHA_MESI_CMP_directory/cpu/simple/timing.cc:157: virtual void TimingSimpleCPU::switchOut(): Assertion `_status == BaseSimpleCPU::Running || _status == Idle' failed.
Program aborted at cycle 75224587000


Are there any wrong steps for my simulation flow?

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

Reply via email to