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


Date: Wed, 22 Mar 2006 16:07:30 -0600
From: Alaa Alameldeen <alaa@xxxxxxxxxxx>
Subject: Re: [Gems-users] Question about warm application in Simics
Hi, Alaa,
  Thanks for your replay, it really helpful. But I am still have some questions.
The following is my understanding of your reply, please correct me if I made a mistake.
For each application, we need "three runs".
1) first run  (Only need Simics to simulation)
----------------------------------------------------------------------------------------
  * The Console command: ./BARNES < input-warm *
   write-configuration CHKPT_DIR/barnes-cold-16p.check  (generate cold checkpoint)
-----------------------------------------------------------------------------------------

2) second run  (Need Simics+Ruby)
-------------------------------------------------------------------------------------------
load "cold" checkpoint generated in the first run,
set up ruby
   *The Console command: ./BARNES < input-warm *

   ruby0.save-caches barnes.caches.gz  (generate warmup cache file)
    write-configuration CHKPT_DIR/barnes-warm-16p.check (generate warm checkpoint)
----------------------------------------------------------------------------------------------
3) third run (Real simulation)
----------------------------------------------------------------------------------------------
load barnes-warm-16p.check
load barnes.cache.gz
clear ruby stats
start simulcation
*The Console Commands:./BARNES < input-run > output; magic_call break
*------------------------------------------------------------------------------------------------

For the above process, why we need "magic_call break" only in the third run. What is the purpose of this
command? I can not find a executable named "magic_call" in my machine. But I find a file named "magic_call.c" in
~/ruby/simics. It is seems a file provided by Ruby designer.

Thanks for your help!

These steps look fine. One thing you need to note is that after you write you checkpoint with ruby loaded (step 2 above), make sure to delete the ruby object in the barnes-warm-16p.check file. The reason is that you should load the checkpoint without ruby (step 3), so Simics won't be able to recognize the ruby object in the .check file.

Regarding the magic_call binary, you can try compiling magic_call.c to a binary, or you can consult the Simics reference for alternatives.

-Alaa

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