Generally, people use ps for M5, although you can change that in the
configuration script. The arguments to all of the ops that use time are
ns. 

Ali 

On Thu, 7 Oct 2010 12:25:00 -0500, Lide Duan  wrote: 


Thanks, Ali. 

Is a "tick" in M5 a nanosecond (10^-9) or picosecond
(10^-12)? The M5ops page says:

" checkpoint [_delay_ [_period_]]:
Create a checkpoint in _delay_ ticks; repeat this every _period_ ticks."


By looking at these numbers, I think a tick is 1ps, while the argument
passed to Checkpoint is 1 ns (i.e. 1000 ticks, instead of 1 tick). Am I
correct?

On Thu, Oct 7, 2010 at 11:37 AM, Ali Saidi  wrote:

Checkpoint
creates a checkpoint "now", passing a single value creates a checkpoint
in now + that many nanoseconds, and passing two arguments creates a
now+firstnumber+second number*N (where N is 0...large). Looking at this
output that seems to be working. 

M5 has similar magical instructions
and that is how the m5 binary you're executing in the simulated program
is working. Take a look at util/m5/* for some code that you can include
with your program and call to create checkpoints progamatically. 

Ali


On Thu, 7 Oct 2010 11:21:28 -0500, Lide Duan  wrote:  

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  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]
[4]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users [5]




Links:
------
[1] mailto:[email protected]
[2]
mailto:[email protected]
[3] mailto:[email protected]
[4]
mailto:[email protected]
[5]
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