Sakshi Tiwari
2018-08-09 19:23:14 UTC
Hi,
I am running gem5 in se mode and I am using SPEC2006 test suite for my
experiments. To run the representative section of each of the SPEC
benchmark I created simpoints. I have a few questions now:
1) Is it necessary to create checkpoints? Or is there any other way to
simply fast forward the simulation on a multi-core system?
2) If it is necessary to create checkpoints then can someone please confirm
if the following commands are correct. I am able to follow step (a) and (b)
but most of the SPEC benchmarks are failing when I run step (c).
(a) Create checkpoint for each of the simpoint:
build/X86/gem5.opt configs/example/se.py
--take-simpoint-checkpoint=m5out/simpoints/libq/libq.simpoint,m5out/simpoints/libq/libq.weight,3000000,10000000
--cmd="benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn" --options="1397
8" --cpu-type=DerivO3CPU --l1d_size=32kB --l1i_size=32kB --l2_size=256kB
--caches --l2cache --l3cache --l3_size=8MB --num-cpus=1 --mem-size=8192MB
(b) Run checkpoint_aggregator script to aggregate the checkpoints which
would run on 4 different cores (I am running the same checkpoint on all the
4 cores):
python util/checkpoint_aggregator.py -o
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.None.4
-c --cpts
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
--memory-size 8589934592
(c) Run the simulation in atomic mode and restore it to the normal mode
(i.e. Timing+O3) from the aggregated checkpoint:
build/X86/gem5.opt configs/example/se.py --at-instruction
--checkpoint-restore=4 --restore-with-cpu=detailed --checkpoint-dir
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/
--cmd="benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn"
--options="1397 8;1397 8;1397 8;1397 8" --cpu-type=DerivO3CPU
--l1d_size=32kB --l1i_size=32kB --l2_size=256kB --caches --l2cache
--l3cache --l3_size=8MB --num-cpus=4 --mem-size=8192MB -I 100000000
Regards,
Sakshi
I am running gem5 in se mode and I am using SPEC2006 test suite for my
experiments. To run the representative section of each of the SPEC
benchmark I created simpoints. I have a few questions now:
1) Is it necessary to create checkpoints? Or is there any other way to
simply fast forward the simulation on a multi-core system?
2) If it is necessary to create checkpoints then can someone please confirm
if the following commands are correct. I am able to follow step (a) and (b)
but most of the SPEC benchmarks are failing when I run step (c).
(a) Create checkpoint for each of the simpoint:
build/X86/gem5.opt configs/example/se.py
--take-simpoint-checkpoint=m5out/simpoints/libq/libq.simpoint,m5out/simpoints/libq/libq.weight,3000000,10000000
--cmd="benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn" --options="1397
8" --cpu-type=DerivO3CPU --l1d_size=32kB --l1i_size=32kB --l2_size=256kB
--caches --l2cache --l3cache --l3_size=8MB --num-cpus=1 --mem-size=8192MB
(b) Run checkpoint_aggregator script to aggregate the checkpoints which
would run on 4 different cores (I am running the same checkpoint on all the
4 cores):
python util/checkpoint_aggregator.py -o
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.None.4
-c --cpts
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/cpt.simpoint_03_inst_1100000000_weight_0.069900_interval_3000000_warmup_10000000/
--memory-size 8589934592
(c) Run the simulation in atomic mode and restore it to the normal mode
(i.e. Timing+O3) from the aggregated checkpoint:
build/X86/gem5.opt configs/example/se.py --at-instruction
--checkpoint-restore=4 --restore-with-cpu=detailed --checkpoint-dir
/home/sakshi/workspace2/gem5-63325e5b0a9d-modified/m5out/libq_cpt/
--cmd="benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn;benchmarks/ben/libquantum_base.amd64-m64-gcc43-nn"
--options="1397 8;1397 8;1397 8;1397 8" --cpu-type=DerivO3CPU
--l1d_size=32kB --l1i_size=32kB --l2_size=256kB --caches --l2cache
--l3cache --l3_size=8MB --num-cpus=4 --mem-size=8192MB -I 100000000
Regards,
Sakshi