Sniper with PARSEC-3.0 not finishing

327 views
Skip to first unread message

Alberto Martinez

unread,
Jan 28, 2014, 5:46:12 AM1/28/14
to snip...@googlegroups.com
Hello,
I am trying to run sniper with PARSEC 3.0 (not the Integrated Benchmarks but an independent PARSEC compilation download from the official site http://parsec.cs.princeton.edu/).

Apparently everything is working fine but the simulation does not "end". If I run:

./run-sniper -c gainestown -d /home/albermg7/2/ -- parsecmgmt -a run -p canneal -c gcc-serial -i simsmall

I can see:

[SNIPER] Start
[SNIPER] --------------------------------------------------------------------------------
[SNIPER] Sniper using Pin frontend
[SNIPER] Running full application in DETAILED mode
[SNIPER] --------------------------------------------------------------------------------
[SNIPER] Enabling performance models
[SNIPER] Setting instrumentation mode to DETAILED


But the simulation never ends until I stop it with Ctrl+C. Then I can see:

^C[SNIPER] End
[SNIPER] Elapsed time: 170.01 seconds
[SNIPER] Disabling performance models
[SNIPER] Leaving ROI after 169.67 seconds
[SNIPER] Simulated 31.2M instructions, 21.6M cycles, 1.45 IPC
[SNIPER] Simulation speed 184.2 KIPS (184.2 KIPS / target core - 5430.0ns/instr)
[SNIPER] Setting instrumentation mode to FAST_FORWARD


And It is in this moment when the simulator generates the output files. I have not stablish any Region of Interest (ROI) or modified any file in the Benchmark. If I run it without Sniper it is working fine.

Any idea of what could be happening?
Thanks a lot.

Regards,
Alberto





Trevor E. Carlson

unread,
Jan 28, 2014, 6:04:59 AM1/28/14
to snip...@googlegroups.com, albe...@gmail.com
Alberto,

    Parsec can take quite a long time to complete, but it will take even longer when you haven't specified a region of interest. ROIs allow Sniper to do cache-only simulation to warm up the microarchitectural state while being much faster than detailed simulation. Additionally, it looks like the application itself is still in the serial section and doing initialization, which can take quite a while as well.

    To see if Sniper is making progress, add the '-sipctrace' command to include the sniper/scripts/ipctrace.py script during simulation. If everything is working fine (which is seems to be), then you should get some output that looks like the following (times and IPCs):
[IPC] 260000 0.455 0.000
[IPC] 270000 0.478 0.000
[IPC] 280000 0.299 0.004
[IPC] 290000 1.594 0.940
[IPC] 300000 1.596 0.942
[IPC] 310000 1.322 0.943
[IPC] 320000 1.596 0.934
[IPC] 330000 1.596 1.448
[IPC] 340000 0.779 1.596
[IPC] 350000 1.530 1.589
[IPC] 360000 1.372 1.768
[IPC] 370000 1.816 1.758
[IPC] 380000 1.785 1.823
    To make progress faster, I would add the ROIs to Parsec 3.0. I don't think that anything extra will be needed. What we did for Parsec 2.x was to define the parmacs_roi_begin() and parmacs_roi_end() in the benchmarks/tools/hooks directory. If you then define -DENABLE_PARMACS, and link to our hooks library, and the applications will call into Sniper's ROI automatically. You should be able to use the Parsec configuration from the benchmarks directory to get started.

Trevor
--
--
--
You received this message because you are subscribed to the Google
Groups "Sniper simulator" group.
To post to this group, send email to snip...@googlegroups.com
To unsubscribe from this group, send email to
snipersim+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/snipersim?hl=en
 
---
You received this message because you are subscribed to the Google Groups "Sniper simulator" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snipersim+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


-- 
----------------------------------
Trevor E. Carlson
Ph.D Student, Ghent University
trevor....@elis.ugent.be
http://www.elis.ugent.be/~tcarlson
http://snipersim.org

Alberto Martinez

unread,
Jan 29, 2014, 5:24:25 AM1/29/14
to Trevor E. Carlson, snip...@googlegroups.com

Hi Trevor,

Thanks a lot for your answer.

I have been trying a few things according to your answer. Firstly, if I used -sipctrace and I actually got what you told me, but it stopped at some point forever, like:


        [...]

[IPC] 9080000 0.760

[IPC] 9090000 0.891

[IPC] 9100000 0.965

[IPC] 9110000 0.758 (and it stops here)


I have tried to define the parmacs_roi_begin() as you told me, so I tried copying the file gcc-sniper.bldconf from the parsec in the Sniper Benchmarks to mine, but apparently I have to add a gcc-sniper.bldconf to every workload  like /kernels/canneal/parsec/gcc-sniper (for example).


I also tried to modified an existing config file, like gcc-serial, with the content of file gcc-sniper but it happens the same, it stops at some point. Is there any other way to define parmacs_roi_begin() and parmacs_roi_end()? Where should I link with your hooks library? Maybe I am missing something, am I?


Thanks a lot again for your attention,

Alberto


2014-01-28 Trevor E. Carlson <trevor....@elis.ugent.be>
Reply all
Reply to author
Forward
0 new messages