SimPoint 3.0




The program and scripts that perform both clustering and single SimPoint analysis on an already generated basic block vectors. This is the algorithm used to generate the simulation points used in the PACT 2003 paper.

By downloading the SimPoint software you are agreeing to our license agreement

Download SimPoint 3.2 (Feb 2006)

What's Provided

bulletSimPoint 3.0 release - Provides the following  new features:
bullet10x to 50x faster than SimPoint 2.0 for picking simulation points
bulletSupport for processing any number of intervals using sub-sampling
bulletMore efficient searching options for finding the best clustering
bulletAbility to report only the simulation points that account for the majority of execution
bulletSupport for variable length intervals (SimPoint 2.0 cannot be used for variable length intervals)


bulletImportant change from SimPoint 2.0 -   SimPoint 2.0 started counting the intervals at 1.  By popular request, we changed this in SimPoint 3.0 to start counting the intervals at 0.  Therefore, if the first interval of execution is chosen as a simulation point, SimPoint 3.0 will have a starting interval for this point specified as 0  (SimPoint 2.0 would have specified this as 1).

bulletTo get the best results from SimPoint it is vital that you have the same exact instruction counting during profiling of the frequency vectors and locating the simulation point in your simulator.   It is suggested that you verify the instruction counting if you use separate tools for gathering the frequency vectors and gathering your simulation results.  It is also suggested that you use the Start PC and its Execution Count to find the simulation point.  See the paper below for more details.

bulletAll of the features for SimPoint 3.0 and the command line options are described in:
bulletGreg Hamerly, Erez Perelman, Jeremy Lau, and Brad Calder, SimPoint 3.0: Faster and More Flexible Program Analysis , Workshop on Modeling, Benchmarking and Simulation, June 2005.



Generated Frequency Vectors (e.g., Branch Edge Vectors, Basic Block Vectors, or Loop+Proc Vectors, etc) for a given program/input run


Home ] Up ]

Send mail to with questions or comments about this web site.
Last modified: 06/22/05