Hi Eugen,

Let me try answering some of your questions.

The application you are going to run on the target (simulated) machine has
to have the SIMICS_magic_instructions in them. Check the structure of the
flexus-test-app to see the sequence of SIMICS_magic_instructions there.
These instructions are driving the whole process of checkpoint generation.
There is some more detailed description here (it's the same for x86 and v9
systems) https://sos.ece.cmu.edu/pipermail/simflex/2008-October/000443.html.


I see you run directly the "run-job" script. This is not a good idea. You
have to follow the steps mentioned in the guide. 
'prepare-test-app' will boot the system and run your application until the
warmup breakpoint. 'create-initial-flexpoints' will run until the second
iteration of the parallel section and generate a flexpoint.
'create-flexpoints' will generate the rest of the flexpoints. Finally,
'run-timing-jobs' is used to run the actual experiments. 

I'm not sure what exactly the run-job script does with the parameters you
provided, but in this part of the process you surely don't need a timing
simulator, such as UniFlex.OoO. 

Start again with a benchmark that does have the magic breakpoints and follow
the steps described in the guide.

Let us know if you have any other question.

Evangelos

-----Original Message-----
From: simflex-bounces at ece.cmu.edu [mailto:simflex-bounces at ece.cmu.edu] On
Behalf Of Leontie Eugen
Sent: Thursday, July 23, 2009 9:33 PM
To: simflex at ece.cmu.edu
Subject: [Simflex] running my own benchmarks with Flexus


After successfully following the steps in this post : 
[Simflex] Help for installing ultrasparc over linux
Evangelos Vlachos evlachos at ece.cmu.edu 
Tue Jun 16 18:24:22 EDT 2009

I tried running the following job : 
[eugen at localhost flexus-test-app]$ ./run-job -fxpt-out flexpoint_000 -cfg
OoO UniFlex.OoO

It did not go smooth ... I am hoping someone can help me out. There is no
benchmark application running on the target machine at this point. But from
my understanding that should not be a problem. 


Starting initial flexpoint creation of flexus_test with UniFlex.OoO in
/home/eugen/work/simics/flexus/Flexus-3.0.0/flexus-test-app/runs/eugen-UniFl
ex.OoO-23Jul09-165202
Launching job
Opening debug output file: debug.out
Opening debug output file: stats.out
Successfully parsed debug configurations from debug.cfg
Initializing Flexus::ConfigurationManager...done
Initializing Flexus::ComponentManager...done
Entered init_local
1 <startup.cpp:110> {0}- Initializing Flexus.

Flexus (C) 2006 The SimFlex Project
Eric Chung, Michael Ferdman, Brian Gold, Nikos Hardavellas, Jangwook Kim,
Ippokratis Pandis, Minglong Shao, Jared Smolens, Stephen Somogyi,
Evangelos Vlachos, Thomas Wenisch, Roland Wunderlich
Anastassia Ailamaki, Babak Falsafi and James C. Hoe.

Flexus Simics simulator - Built as UniFlex.OoO v3.0

2 <ComponentManager.cpp:81> {0}- Instantiating system with a width factor
of: 1
3 <uFetch.hpp:76> {0}- ufetch port FetchSnoopOut is not wired
4 <Cache.hpp:82> {0}- L1d port BackSideOut_Prefetch is not wired
5 <Cache.hpp:82> {0}- L2 port BackSideOut_Snoop is not wired
6 <Cache.hpp:82> {0}- L2 port BackSideOut_Prefetch is not wired
7 <wiring.cpp:89> {0}-  initializing Parameters...
Warning: The 'flexus-UniFlex.OoO-v9-iface-gcc' module unexpectedly defined
the 'Flexus' class
Warning: The 'flexus-UniFlex.OoO-v9-iface-gcc' module unexpectedly defined
the 'SimicsInterface' class
8 <flexus.cpp:377> {0}- Set stat interval to : 50000
9 <flexus.cpp:382> {0}- Set region interval to : 50000
Opening debug output file: trace.out
Successfully parsed debug configurations from iteration.trace.cfg
WARNING: There is no parameter named "-L2:allow_offchip_stream_fetch"
WARNING: There is no parameter named "-L2:bypass_bus"
type run to start simulation
simics> run
10 <ComponentManager.cpp:96> {0}- Initalizing components...
11 <FetchAddressGenerateImpl.cpp:90> {0}- Thread[0.0] connected to cpu0
Initial PC: v:000532eb4
12 <mai_api.hpp:386> (<undefined>[<undefined>]) {0}- Assertion failed:
((!(false))) : <undefined>
Abort (SIGABRT) in main thread
The simulation state has been corrupted. Simulation cannot continue.
Please restart Simics.
[cpu0] v:0x0000000000532eb4 p:0x00000132eb4  lduba [%i3 + %g0] 0x15, %i0  #
ASI_PHYS_BYPASS_EC_WITH_EBIT



So far I managed to get Linux on the Simics sunfire-bagle configuration. I
automatically login, and start running a benchmark ( bitcount ), a snapshot.
( part of what prepare-test-app is suppose to do).

I need some assistance getting to the next steps:
- do I need to insert SIMICS_magic_instructions into the benchmark code?
- do I need a special compiler that will allow me to cross compile for
v9_Linux that knows about magic_instructions ?

I have a hard time (based on the Getting starting guide) understanding the
relation of what happens on the target system running the simulation and
these steps :
  prepare-test-app
  create-initial-flexpoints
  create-flexpoints
  run-timing-jobs
and
  run-job

I am sure these are obvious for someone familiar with flexus, but they do
not come out easily from the "Getting Started Guide".
Thank you in advance for your help,
Eugen


      
_______________________________________________
SimFlex mailing list
SimFlex at ece.cmu.edu
https://sos.ece.cmu.edu/mailman/listinfo/simflex
SimFlex web page: http://www.ece.cmu.edu/~simflex

Reply via email to