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
