gcc pinball

389 views
Skip to first unread message

Patrick

unread,
Feb 17, 2014, 10:38:55 AM2/17/14
to snip...@googlegroups.com
Does anyone have an estimate on how long it takes to run the gcc-ref-1 pinball? I realize it will vary widely based on host machine, but I'm just looking for a ballpark.

I ran it with the following command:

"./run-sniper -c config/gainestown-new.cfg --pinballs=cpu2006-wholeprogram-pinballs-pinplay-1.1/cpu2006-gcc-ref-1/pinball.address"

It has been running over the weekend, and the simulator output is sitting at the line:

"[SNIPER] Setting instrumentation mode to DETAILED"

Perhaps I ran it incorrectly? Any help is appreciated.

Trevor Carlson

unread,
Feb 17, 2014, 11:01:02 AM2/17/14
to snip...@googlegroups.com, plaf...@gmail.com
Patrick,

     Whole-program pinballs will take a very long time to run in Sniper. To estimate the runtime, you can use a script, progress-trace, to get more detailed information to make the approximation.

     I would recommend that you use the PinBalls that we generated, or, if they aren't sufficient for your needs, rebuild the SPEC CPU 2006 PinPoint pinballs to the warmup/detailed length that you are looking for. Representative regions will run much more quickly that the whole-program versions, while still allowing you to predict whole-program runtime. Check the HPCA 2013 SimPoint Pinballs tutorial linked on http://snipersim.org for details on this procedure.

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.

Patrick

unread,
Feb 17, 2014, 5:54:20 PM2/17/14
to snip...@googlegroups.com
Trevor,

Thanks for your help. I downloaded the pinballs that you generated, and tried to run the command:

"./run-sniper --pinballs=cpu2006_pinballs/gcc/pinball_short.pp/pinball_t0r1_warmup3000_prolog0_region1000000002_epilog0_001_1-00000.0.address"

This gave me the error:

"sniper: sift_reader.cc:589: const Sift::StaticInstruction* Sift::Reader::decodeInstruction(uint64_t, uint8_t): Assertion `result == XED_ERROR_NONE' failed."

With other pinballs, I get the error:

"sniper: sift_reader.cc:579: const Sift::StaticInstruction* Sift::Reader::decodeInstruction(uint64_t, uint8_t): Assertion `icache.count(base_addr)' failed."
 
I see that similar errors were addressed in previous forum discussions here and here. I checked the md5, as directed in that post, and it was fine. I also ran a "make clean" and "make", but I'm still getting the error. I see that the instructions in the second discussion are a bit involved. Are the instructions in that discussion the established fix for problems such as the ones above?

I am using Sniper 5.3, Pinplay-1.1, and Pin 2.13-61206.

Any thoughts?

Thanks,
Patrick

Trevor E. Carlson

unread,
Feb 17, 2014, 6:15:06 PM2/17/14
to snip...@googlegroups.com, Patrick
Patrick,

It looks like you are downloading Pin and Pinplay, is that right? Actually, you shouldn't be downloading Pin directly, as the Pinplay version contains the associated Pin distribution. Are you combining PinPlay with Pin?

Also, it looks like the pin SIFT feeder (that supplies the instructions, the SIFT writer) is dying, as the simulator (Sniper itself, the SIFT reader) is registering errors with the SIFT stream. Could you check the benchmarks*app*log files in the output directory to see the errors as reported by the SIFT writer/pin process.

Trevor

Patrick

unread,
Feb 17, 2014, 6:25:12 PM2/17/14
to snip...@googlegroups.com
Trevor,

I did download pin and pinplay separately, but I deleted the pin download and I'm using only the pinplay directory now.

The error in the benchmark-app0-run0.log file is:

"A:file_interface.cpp:ReadLine:ReadLine:110: File pointer to /ams/home/plafratta/bin/sniper/cpu2006_pinballs/gcc/pinball_short.pp/pinball_t0r1_warmup3000_prolog0_region1000000002_epilog0_001_1-00000.0.result.0 is NULL"

Patrick

Trevor E. Carlson

unread,
Feb 17, 2014, 6:28:13 PM2/17/14
to snip...@googlegroups.com, Patrick
Patrick,

It looks like Pin/Pinplay tried to open the file but was not able to. Maybe the permissions on the file doesn't allow your userid to open it for reading?

Trevor

Patrick

unread,
Feb 17, 2014, 6:31:03 PM2/17/14
to snip...@googlegroups.com
That file actually doesn't exist. I'm afraid I may have missed a step somewhere :(

Trevor E. Carlson

unread,
Feb 17, 2014, 6:35:32 PM2/17/14
to snip...@googlegroups.com, Patrick
Patrick,

Have you tried the whole-program pinballs, or the other set of pinballs (100M insn detailed regions)? I've never seen this problem before and don't know if it is a problem with the pinballs or your setup.

Trevor

Patrick

unread,
Feb 17, 2014, 7:18:07 PM2/17/14
to snip...@googlegroups.com
Trevor,

I'm not sure why those pinpoints aren't working for me.

I tried running a whole-program pinball over the weekend. It looks like it started fine, but it ran all weekend and didn't finish.

I may have to go through the HPCA tutorial to which you pointed me earlier. Although, if I understand correctly, it looks like I may need the binary to generate the pinballs. I don't have the spec2006 binaries. I may go ahead and try to download the other set of pinballs.

Thanks,
Patrick

Trevor Carlson

unread,
Feb 17, 2014, 10:25:19 PM2/17/14
to snip...@googlegroups.com, plaf...@gmail.com
Patrick,

     The whole program pinballs do appear to be working fine for you. They take quite some time to run in Sniper (months maybe?). If you start a run with the ipctrace script, you'll be able to check that progress is being made.

     The use case for the whole-program pinballs are to use them as a way to generate your own pinballs. You should use the whole-program pinballs (no binaries necessary) to create representative region pinballs. Since they are working, that is a good sign.

     One idea: were you sure that you downloaded PinPlay version 1.1 pinballs from the Sniper website?

Trevor

Patrick

unread,
Feb 18, 2014, 11:28:57 AM2/18/14
to snip...@googlegroups.com
Trevor,

Thanks for the response. I used the ipctrace script and the whole program pinballs are indeed running.

I checked, and I believe that I have indeed downloaded the pinballs for PinPlay version 1.1. The errors that I am getting when trying to run the pinpoints suggest that I am missing the ".result" files and log files necessary to run with these pinpoints.

I am a little confused on how to generate a pinball for a program without its binary. Looking at slides 39-40 of the HPCA tutorial, it appears that the binary name goes into the "command" parameter of the configuration file.

I see that there is a "whole_pgm_name" argument to pinpoints.py. When I point this to one of the directories holding a whole program pinball, and then specify the "program_name" and "input_name" arguments, the script appears to start up and get running when I give a "-r" option. It gets to the section "+++  Processing: pinball", and then just sits there. Perhaps it is attempting to play back the whole program pinball, although it doesn't appear to be producing any meaningful output files. It appears that the "-p" option can be used to generate region pinballs. However, it seems that this requires a ".pinpoints.csv" file for specifying the regions. I see that there is an example of such a file in the HPCA tutorial. If I am correct that this file is needed, will this need to be created by hand?

Perhaps there is further documentation on how to use pinpoints.py that I can study? The example in the HPCA tutorial appears to cover the case when the binary is available.

Thanks for your help,
Patrick

Patrick

unread,
Feb 18, 2014, 11:35:45 AM2/18/14
to snip...@googlegroups.com
Sorry, the argument to which I was referring at the beginning of the fourth paragraph was "whole_pgm_dir", not "whole_pgm_name."

Patrick
Reply all
Reply to author
Forward
0 new messages