Sorry, probably I was wrong. This time, I lower the value to 500000 and issue the follows:
/sbin/m5 checkpoint /sbin/m5 checkpoint 500000 ./my_alpha_program /sbin/m5 checkpoint Now I got three checkpoints as: cpt.1830187114500 cpt.1831068302000 cpt.1833296533000 However, I am still confused about the tick numbers: why are there so big gaps between them? Please comment... In particular, is there anything wrong with my entire approach? Finally, by using the above approach, I have a question regarding how to determine the ROI of a multi-threaded program. For such a workload (e.g. PARSEC, SPLASH2), we are usually interested in the parallel section. So if I need to create a checkpoint after the sequential initialization, how can I determine the # of instructions needs to be skipped (i.e. what value should be set after "m5 checkpoint", as the above)? I know Simics inserts magic instructions into the source code to pause the simulation to make checkpoints, etc. Is there any similar mechanism in M5, or should I roughly estimate this number as in above? Thank you very much! Lide On Thu, Oct 7, 2010 at 10:46 AM, Lide Duan <[email protected]> wrote: > Hi there, > > I am using M5 FS mode to run Alpha programs. My approach is the following: > boot up the Linux using AtomicSimpleCPU, and make a checkpoint before my > region of interest (ROI) of the program; Next time, restore the checkpoint > initially with AtomicSimpleCPU, and then switch to TimingSimpleCPU (for > warmup) and then DerivO3CPU (for actual measurement). Suppose my ROI begins > after 10K instructions of my_alpha_program and the CPU frequency is 2GHz > (which makes 1 cycle be 500 ticks), then my rcS file (to create checkpoint) > is like the following: > > #!/bin/sh > cd /benchmarks > /sbin/m5 resetstats > /sbin/m5 checkpoint 5000000 > ./my_alpha_program > /sbin/m5 exit > > In this way, the program runs correctly and the system exits normally, but > the checkpoint is not created. I suspected that 10K instructions already > exceeded the program length, but the checkpoint won't be created no matter > what value the parameter is set to. Finally, I tried to dump a checkpoint > before my_alpha_program starts and another one after it finishes: > > /sbin/m5 checkpoint > ./my_alpha_program > /sbin/m5 checkpoint > > now the two checkpoints are created as cpt.1830187131000 and > cpt.1832925222000. We can see that the tick difference between them is much > larger than 5000000, so I am confused why my ROI checkpoint cannot be > created. Am I missing anything here (regarding the entire approach and the > specific rcS script)?? > > Thanks, > Lide >
_______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
