Re: [Gems-users] Question about warm application in Simics


Date: Wed, 22 Mar 2006 13:26:04 -0600
From: Alaa Alameldeen <alaa@xxxxxxxxxxx>
Subject: Re: [Gems-users] Question about warm application in Simics
Liping,

Liping Xue wrote:
Hi, I have a question about warm application in Simics.
In the ISCA tutorial about gems, they use "Barnes" as a example.
It said that to warm up application in Simics, in the console window, using
--------------------------------------------------------------------------------------
*./BARNES < input-warm*
After this, write checkpoint "barnes-cold-16p.check"
and they use the second run to warm up cache:
the command is:
*./BARNES < input-run >output; magic_call break
--------------------------------------------------------------------------------------------------------

*I have several questions about the above procedure:
1. What is the difference between parameter "input-warm" and "input-run"? Can I use a small size of "input-warm" and a big size of "input-output"?

That is OK. You can use a small input set for "input-warm" and the big input for "input-run". You just need to have memories/caches warmed up to avoid cold start misses.

2. What is the meaning of "magic_call break", I typed it in the console window, but it says that "command not found".

You should consult the Simics manual on how to use magic break points. You would like to have a binary (maybe in /bin) that calls the Simics magic break function. Alternatively, you can add a magic break call (and include the corresponding .h file) in your source code and recompile.

3. What's the purpose of "warm-checkpoint"? How to get a "warm-checkpoint"? (I know in the slides it give the example to use the "go.simics" script, but when I use it, it gives me so many errors).

The warm checkpoint should have warmed up caches. After you run for the warmup interval, you should save cache data using something like:

ruby0.save-caches CHECKPOINT_NAME.caches.gz

(in addition to saving the checkpoint using the simics command "write-configuration"

Then when you load your checkpoint for your real run, you should have ruby warm up caches using:

ruby0.load-caches CHECKPOINT_NAME.caches.gz

And then proceed to clear ruby stats and start the simulation.

I hope that helps.

-Alaa

[← Prev in Thread] Current Thread [Next in Thread→]