<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.10/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.10/ http://www.mediawiki.org/xml/export-0.10.xsd" version="0.10" xml:lang="en">
  <siteinfo>
    <sitename>Sniper</sitename>
    <dbname>snipersim_com_v2</dbname>
    <base>http://snipersim.org//w/The_Sniper_Multi-Core_Simulator</base>
    <generator>MediaWiki 1.34.1</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">Sniper</namespace>
      <namespace key="5" case="first-letter">Sniper talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>The Sniper Multi-Core Simulator</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>635</id>
      <parentid>631</parentid>
      <timestamp>2023-09-06T00:55:59Z</timestamp>
      <contributor>
        <username>Tcarlson</username>
        <id>2</id>
      </contributor>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text xml:space="preserve" bytes="7022">&lt;div style="text-align: left; border: 2px solid #FFE97F; margin: 1em 0 1em 0; padding: .5em 1ex .5em 10ex; background-color:#FFF6D6"&gt;

Sniper 8.0 is now available on [https://github.com/snipersim/snipersim GitHub] and [https://hub.docker.com/r/snipersim/snipersim DockerHub]

Version 7.3 of [[Releases|Sniper has been released]]. It has support for Ubuntu 18.04, GCC 7, Pin 3.10+, and [https://carrv.github.io/2018/papers/CARRV_2018_paper_7.pdf initial support for RISC-V].

An initial implementation of [https://github.com/trevorcarlson/barrierpoint BarrierPoint] had been released.

[https://sites.google.com/site/pinpointstutorialisca14 PinPoints Tutorial at ISCA] with Sniper. Learn about PinPoints or [[Pinballs|download SPEC CPU2006 pinballs]]

The FOSDEM 2014 video of the Sniper tutorial is [[FOSDEM_2014|now available to view]]

[[Tutorial:IISWC_2013_Sniper|Sniper tutorial at IISWC]]

&lt;/div&gt;

[[Paper:Sc2011Carlson|Sniper]] is
a next generation parallel, high-speed and accurate
x86 simulator.  This multi-core simulator is
based on the [[Interval Simulation|interval core model]] and the [https://github.com/mit-carbon/Graphite Graphite] simulation
infrastructure, allowing for fast and accurate simulation and for
trading off simulation speed for accuracy to allow a range of flexible
simulation options when exploring different homogeneous and heterogeneous multi-core architectures.

The Sniper simulator allows one to perform timing simulations for both multi-program workloads
and multi-threaded, shared-memory applications with 10s to 100+ cores,
at a high speed when compared to existing simulators.  The main
feature of the simulator is its core model which is based on [[Interval Simulation|interval simulation]],
a fast mechanistic core model. Interval simulation raises the level
of abstraction in architectural simulation which allows for faster
simulator development and evaluation times; it does so by 'jumping'
between miss events, called intervals.
Sniper has been validated against multi-socket Intel Core2 and Nehalem systems
and provides average performance prediction errors within 25%
at a simulation speed of up to several MIPS.

This simulator, and the interval core model, is useful for uncore
and system-level studies that require more detail than the typical
one-IPC models, but for which cycle-accurate
simulators are too slow to allow workloads of meaningful sizes to be simulated.
As an added benefit, the interval core model allows
the generation of CPI stacks, which show the number of cycles lost
due to different characteristics of the system, like the cache
hierarchy or branch predictor, and leads to a better understanding of each component's
effect on total system performance. This extends the use for Sniper
to application characterization and hardware/software co-design.

=== Features ===
[[File:Level2vis400.png|right|CPI stack visualization in Sniper 4.1|link=http://snipersim.org/viz/fft-tiny-4/levels/level2/cyclestacks.html]]
[[File:Level3vis400.png|right|IPC visualization in Sniper 4.1|link=http://snipersim.org/viz/fft-tiny-4/levels/level3/level3.html]]
In addition to the main features mentioned above, we have updated
the base simulation infrastructure to allow for simulating a larger
set of workloads on more recent simulated hardware.  Here is the full
set of some of the recently added features:
* [[Interval Simulation|Interval core model]]
* [[Paper:Taco2014Carlson|Instruction-Window Centric core model, supporting in-order, out-of-order and SMT cores]]
* [[Paper:Ispass2013Carlson|Multi-threaded application sampling support]]
* [[CPI Stacks]] and [http://snipersim.org/viz/fft-tiny-4/ advanced visualization support] to gain insight into lost cycles
* Parallel, multi-threaded simulator
* [[Multi-programmed workloads|Multi-program]] and multi-threaded application support, x86 and x86-64, SSE2
* Validated against the Intel Core 2 microarchitecture (See the [[Frequently Asked Questions|FAQ]] for details)
* Full DVFS support
* Shared and private caches
* Prefetchers
* Scheduling support
* [[Heterogeneous Configuration|Heterogeneous configuration support]]
* [http://dx.doi.org/10.1109/ISPASS.2009.4919652 Modern branch predictor]
* Supports parallel applications using pthreads, OpenMP, TBB, OpenCL
* Runs SPLASH-2, Rodinia, SPEC OMP and most of PARSEC (See our [[Download Benchmarks|integrated benchmarks quick-start guide]])
* [[McPAT]] integration
* SimAPI and Python interfaces for monitoring and controlling the simulator's behavior at runtime
* Single-option debugging of simulator or the application itself
* Modern Linux-OS support (Redhat EL 5,6/Debian Lenny+/Ubuntu 10.04-15.04+/etc.)
* Open source software, [[License|licensed]] under the MIT and the Interval Academic License
* [[Sniper Features|Additional features]]

You can find additional information on the simulator and its components in our [[Paper:Taco2014Carlson|TACO]] or [[Paper:Sc2011Carlson|SC'11 paper]].

=== Getting started ===

* [[Download]] the Sniper source code (Git and download options)
* Follow the [[Getting Started]] instructions
* Take a look at the [[Manual|Sniper Manual]]
* View the [[Frequently Asked Questions]]
* Review the [http://snipersim.org/documents/2013-01-22%20Sniper%20HiPEAC%20Tutorial.pdf slides from our latest tutorial]
* View our most recent [[Releases|simulator updates]]
* If you are using a modern version of Sniper, please cite our [[Paper:Taco2014Carlson|TACO paper (bibtex)]]

=== Discussion list ===

&lt;html&gt;&lt;div style="float:right"&gt;&lt;table border=0 cellspacing=0&gt;
  &lt;tr&gt;&lt;td style="padding-left: 5px"&gt;
  &lt;b&gt;Subscribe to the Snipersim mailing list&lt;/b&gt;
  &lt;/td&gt;&lt;/tr&gt;
  &lt;form action="https://groups.google.com/group/snipersim/boxsubscribe"&gt;
  &lt;tr&gt;&lt;td style="padding-left: 5px;"&gt;
  Email: &lt;input type=text name=email&gt;
  &lt;input type=submit name="sub" value="Subscribe"&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/form&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/html&gt;

Please send any questions or comments to: &lt;code&gt;snipersim [at] googlegroups [dot] com&lt;/code&gt; . You can also visit our [http://groups.google.com/group/snipersim Google Groups] page to subscribe to the list and search through the archive of previous messages.

&lt;html&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/html&gt;

=== Team Members ===
* [https://comp.nus.edu.sg/~tcarlson Trevor E. Carlson] with [http://nus.edu.sg National University of Singapore]
* [http://www.elis.ugent.be/~wheirman Wim Heirman] with the [http://exascience.com Intel ExaScience Lab]
* [http://www.elis.ugent.be/~leeckhou Lieven Eeckhout] with [http://www.ugent.be Ghent University]
* [mailto:ibrahim.hur@intel.com Ibrahim Hur] with the [http://exascience.com Intel ExaScience Lab]

=== More information ===
* [[Publications using Sniper]]
* [[Sniper Tutorials]]

&lt;metadesc&gt;Sniper Simulator,Sniper,simulator,computer architecture,multicore,multi core,multi-core,manycore,many core,many-core,micro-architecture,microarchitecture,ExaScience Lab,exascience,exascale,SC11,supercomputers,super-computing,computers,Ghent University,Universiteit Gent&lt;/metadesc&gt;

__NOTOC__</text>
      <sha1>7ixu3fb3cabveh1wsbcc62zghwnkduy</sha1>
    </revision>
  </page>
</mediawiki>
