I managed to fix the problem. For some reason the benchmarks
experienced a dead zone where almost no instructions would execute.
This can be bypassed by running a short run and examining the number
of cycles cpu 0 ran for. This will be some large value, possibly
longer than the number of ticks specified. For example:
./build/ALPHA_FS/gem5.opt --remote-gdb-port=0
./configs/example/ruby_fs.py -n 16
--checkpoint-dir=checkpoints/n16/blackscholes/large/ --topology=Mesh
--timing --num-dirs=16 --mesh-rows=4 --num-l2caches=16
--garnet-network=fixed -r 2 -m 100000

produces the following in stats.txt:

system.cpu00.numCycles                     5478816069                       # n\
umber of cpu cycles simulated

I then added the ability to clear stats in the configuration file
Simulation.py (similar to warmup/fast forwarding except instead of
switching cpus all I do is call resetstats())
...
  if options.clear_stats:
     exit_event = m5.simulate(options.clear_stats)
     m5.stats.reset()
  print "**** REAL SIMULATION ****"
...

I think it may be tied to ruby stats not being regular m5 stats yet;
so the problem may go away when this is resolved.


On Tue, Mar 20, 2012 at 2:30 PM, Michael Moeng <[email protected]> wrote:
> I am trying to run the PARSEC workloads with the Garnet network model.
> However, when I do, I get extremely low IPC. Could someone point out
> what I'm doing wrong? Below are the steps I took
>
> 1) I am using the latest stable build (gem5-stable-549b72de8f72), as I
> experienced problems with ruby_fs.py with the merged SE/FS development
> build.
> 2) I built with command: scons build/ALPHA_FS/gem5.opt
> PROTOCOL=MESI_CMP_directory RUBY=True
> 3) I changed the paths for files to ones provided on the PARSEC M5
> site: http://www.cs.utexas.edu/~parsec_m5/
> 3a) Changed linux-bigswap2,vmlinux, and the pal file paths in
> configs/common/FSConfig.py
> 3b) Changed linux-latest path and memsize to 512MB in
> configs/common/Benchmarks.py
> 4) Created .rcS scripts: "./writescripts.pl blackscholes 16 --ckpts"
> 5) Created initial checkpoint: "./build/ALPHA_FS/gem5.opt
> ./configs/example/fs.py
> --script=runscripts/blackscholes_16c_simlarge_ckpts.rcS -n 16
> --checkpoint-dir=checkpoints --max-checkpoints=1"
> 6) Created additional checkpoints: "./build/ALPHA_FS/gem5.opt -d
> checkpoints ./configs/example/fs.py -n 16 --checkpoint-dir=checkpoints
> --max-checkpoints=10 -r 1 --take-checkpoints=1B,1B"
> 7) Run with Ruby: "./build/ALPHA_FS/gem5.opt --remote-gdb-port=0
> ./configs/example/ruby_fs.py -n 16 --checkpoint-dir=checkpoints
> --l1i_size=32kB --l1d_size=32kB --l2_size=8MB --topology=Mesh --timing
> --num-dirs=16 --mesh-rows=4 --num-l2caches=16  --garnet-network=fixed
> -r 2 -m 10B"
>
> I get statistics like:
> system.cpu00.numCycles                     5498815881
>   # number of cpu cycles simulated
> system.cpu00.numWorkItemsStarted                    0
>   # number of work items this cpu started
> system.cpu00.numWorkItemsCompleted                  0
>   # number of work items this cpu completed
> system.cpu00.num_insts                        3714897
>     # Number of instructions executed
>
> This occurs no matter which checkpoint I load from, and for all the
> PARSEC benchmarks I've tried (Blackscholes, Canneal, Fluidanimate,
> Ferret, Streamcluster).
>
> Any help is much appreciated
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to