Releases
		
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
		
		
		
		
		
	
Contents
- 1 Download Sniper
 - 2 Recent Sniper Releases
- 2.1 Version 7.4 (April 15th, 2021)
 - 2.2 Version 7.3 (August 8th, 2019)
 - 2.3 Version 7.2 (February 16th, 2019)
 - 2.4 Version 7.1 (October 28th, 2018)
 - 2.5 Version 7.0 (September 6th, 2018)
 - 2.6 Version 6.1 (March 24th, 2015)
 - 2.7 Version 6.0 (June 3rd, 2014)
 - 2.8 Version 5.3 (November 29th, 2013)
 - 2.9 Version 5.2 (September 17th, 2013)
 - 2.10 Version 5.1 (June 27th, 2013)
 - 2.11 Version 5.0 (April 15th, 2013)
 - 2.12 Version 4.2 (February 9th, 2013)
 - 2.13 Version 4.1 (December 11th, 2012)
 - 2.14 Version 4.0 (November 28th, 2012)
 - 2.15 Version 3.07 (September 7th, 2012)
 - 2.16 Version 3.06 (August 7th, 2012)
 - 2.17 Version 3.05 (August 7th, 2012)
 - 2.18 Version 3.04 (July 18th, 2012)
 - 2.19 Version 3.03 (June 28th, 2012)
 - 2.20 Version 3.02 (June 25th, 2012)
 - 2.21 Version 3.01 (June 12th, 2012)
 - 2.22 Version 3.0 (May 16th, 2012)
 
 
Download Sniper
You can download the latest version of Sniper here.
Recent Sniper Releases
Version 7.4 (April 15th, 2021)
- Add initial ARM64 port
 - Automatically download Pin 3.18-98332
 - Require GCC >= 5, support modern compilers (GCC 9), Ubuntu 20.04
 
Version 7.3 (August 8th, 2019)
- Fix compilation and version detection issues for modern Pin versions (3.10)
 - Properly handle time during fast-forwarding and warmup by default
 - Remove transitional Pin 3 SIFT recorder code
 
Version 7.2 (February 16th, 2019)
- Improve SIFT recorder error handling to reduce crashes caused by aborts
 - Fix additional crashes caused by modern GCC behavior (NULL valued this pointer checks are removed by the compiler)
 - Verify thread count in the sift recorder. Support larger thread counts with the new --maxthreads option
 - Fix debug symbol parsing with modern Pin versions
 - Numerous bug fixes and improvements
 
Version 7.1 (October 28th, 2018)
- Fix compilation errors for GCC 6 and 7
 - Fix parallel make builds
 - Add Dockerfile for Ubuntu 18.04
 - Make zlib optional (Pin3 requires a PinCRT-compiled zlib which is found with Pinplay)
 - Numerous bug fixes and improvements
 
Version 7.0 (September 6th, 2018)
- Added Pin 3, GCC 5 support by default, keeping Pin 2 support in the new pin2 branch
 - Added initial RISC-V support
 - Add a new utility to automatically compile RISC-V requirements and SPEC CPU2006 binaries for RISC-V
 - Add a Docker image for Sniper and RISC-V compilation support
 - Fixes SIFT recorder address mapping issue caused by physical page mapping access restrictions in Linux kernels 4.0+
 
Version 6.1 (March 24th, 2015)
- Support for newer Pin versions, up to Pin 2.14-71313 / PinPlay 2.1
 - Support GCC 4.9
 - Integrate the Cheetah cache models
 - Remove legacy Graphite core models simple, magic and iocoom
 - A new dumpstats.py option (-c|--config) prints configuration parameters one-per-line
 - Numerous bug fixes and improvements
 
Version 6.0 (June 3rd, 2014)
- Add Instruction Window-Centric core model (internal name: ROB core model, use rob.cfg)
 - Add SMT support (IWC/ROB core model only, use smt*.cfg)
 - Add SniperLite, a fast cache-only model (use nehalem-lite.cfg)
 - Add DRAM cache prefetcher
 - Add support for non-standard SQLite paths through the SQLITE_PATH environment variable
 - Add sniperdiff.py for easy diff-ing of Sniper results and configurations
 - Branch predictor accuracy improvements
 - New roi-icount script to more easily specify fast-forward/warmup/detailed lengths by instruction count
 - Faster mode for running single-program / single-threaded PinBall (--pinball-non-sift)
 - Support for newer Pin versions, up to Pin 2.13.65163 / PinPlay 1.3
 - Numerous bug fixes and improvements
 
Version 5.3 (November 29th, 2013)
- Fast, cache-only one-IPC timing model (-c cacheonly)
 - Add energystats script to provide runtime energy counters
 - Add Python-based thread scheduler infrastructure and example
 - Add support for Query-Based Selection (Jaleel, MICRO 2010)
 - Add support for plotting Bottle graphs (Du Bois, OOPSLA 2013)
 - Memory tracker infrastructure to measure cache hit rates by allocation site
 - Support for McPAT 1.0
 - Various bug fixes and improvements
 
Version 5.2 (September 17th, 2013)
- Configurable coherency protocol (MSI/MESI/MESIF), made MESI the default
 - Add more cache statistics: LRU stack distance historgram, LLC miss latency breakdown
 - Implement auxiliary tag directories (ATD) to track constructive/destructive interference in shared caches
 - Implement 2-level TLB hierarchy with Nehalem configuration
 - New hooks HOOK_APPLICATION_ROI_{BEGIN,END}, called even when ROI markers are not used directly; these hooks can be used to trigger ROI from a script
 - Improved stop-by-icount script to support ROI-relative warmup and detailed lengths
 - Ondemand routine stack printer: configure routine_tracer/type=ondemand, then send a SIGUSR1 to Sniper to get a per-thread application backtrace
 - Emulate leaf 11 of the cpuid instruction to pass topology information to runtimes (used by Intel OpenMP)
 - Emulation of sched_* system calls, gettimeofday replacement, cpuid in SIFT mode
 - Improve handling of LD_LIBRARY_PATH: use SNIPER_SIM_LD_LIBRARY_PATH for the simulator, SNIPER_APP_LD_LIBRARY_PATH for the application
 - Re-implemented BigSmall scheduler to use thread affinity calls rather than the low-level (and error prone) moveThread API
 - sim.thread Python interface to interact with threads (get num threads, get appid, get/set affinity)
 - Use newest Pin version 2.13.61206
 - Numerous bug fixes and improvements
 
Version 5.1 (June 27th, 2013)
- New Suggestions for Optimization visualization (--viz-aso)
 - KCacheGrind-compatible output for profiling simulated applications (--profile)
 - Roaming (equal-time) scheduler allowing for thread migrations (scheduler/type=roaming)
 - Support for newest Pin version 2.12.58423
 - Various bugfixes and improvements
 
Version 5.0 (April 15th, 2013)
- Periodic sampling infrastructure
 - Extensible per-thread statistics infrastructure
 - Routine tracing infrastructure and per-function statistics
 - NUCA cache model
 - Distributed tag directories
 - sim.mem Python module for reading application memory
 - Various other improvements and bugfixes
 
Version 4.2 (February 9th, 2013)
- Various accuracy fixes for Nehalem core model
 - Add cache replacement policies: NRU, MRU, NMRU, PLRU, S-RRIP, Random
 - Add statistical DRAM performance model
 - Add syscall enter/exit hooks
 - Add topology view to visualization
 - Speed up McPAT by caching architecture-specific CACTI results
 - Fixes to running multiple multi-threaded workloads
 - Multi-programmed mode: end simulation at first/last program end, optional trace/application restart
 - PinPlay support
 
Version 4.1 (December 11th, 2012)
- Visualization support (--viz)
 - Minor cleanups and bug fixes
 
Version 4.0 (November 28th, 2012)
- Thread migration and scheduler support
 - Pinned (round-robin), static, random thread schedulers
 - Heterogeneous configuration files with tags
 - Configurable address2set hash functions for non-power of two sized caches
 - Various prefetcher improvements
 - DRAM cache model
 - One-IPC fast-forward model
 - Fault injection framework
 - New SQLite3-based statistics format
 - ROI support for SIFT
 - Support for MPI applications (shared-memory backend)
 - Limited support for Jikes/DaCapo benchmarks
 - Use newest Pin 2.12.53271
 - Add script for generating topology images
 - Preserve history in Git repository
 - Many cleanups and bugfixes
 
Version 3.07 (September 7th, 2012)
- Prefetcher improvements, add global history buffer-based prefetcher
 - HOOK_PERIODIC_INS: Instruction-based periodic callback
 - Implement CLONE_CHILD_CLEARTID syscall interface
 - Add example scripts for periodic statistics, periodic McPAT, simulating limited iteration counts
 - Support for Pin 2.12
 - Fixes to Python environment
 - Various bugfixes
 
Version 3.06 (August 7th, 2012)
- Fix modeled size of network messages
 - Build fixes for 32-bit, compiler overrides
 
Version 3.05 (August 7th, 2012)
- Scheduler: expose application ID
 - Add example script roi-iter.py to dynamically select ROI based on SimMarkers
 - CPI stacks: --aggregate and --partial support, fixes for heterogeneous configurations
 - Traces: support for 32-bit executables
 - Build fixes for older Linux versions
 
Version 3.04 (July 18th, 2012)
- Support for running multiple multi-threaded workloads in a single simulation
 - McPAT fixes for heterogeneous configurations
 - Build system fixes for newer Linux versions
 
Version 3.03 (June 28th, 2012)
- Bugfixes in configuration parser, starting of multi-program workloads
 
Version 3.02 (June 25th, 2012)
- Fixes for specifying heterogeneous configurations
 - L2 prefetcher improvements
 - Perfect cache modeling
 - Self-modifying code support
 - PyControl scripting interface
 - GCC 4.7 support
 - McPAT integration for area, power and energy predictions
 
Version 3.01 (June 12th, 2012)
- Add heterogeneous cache configuration support
 - Emulate pause, sleep system calls
 - Improve support for 32-bit applications
 - Pin 2.11 support
 
Version 3.0 (May 16th, 2012)
- Support for heterogeneous core types
 - Separate core microarchitectural characteristics into CoreModel class
 - Improve CPI stack detail
 - Add initial implementation for basic L2 prefetcher
 - Optionally access DRAM directly in configurations with a single LLC
 - Deprecate replacement of pthread_* synchronization calls
 - Support more SYS_futex options
 - Remove unused code for Graphite FULL mode
 - Fixes to the build system, including parallel builds (make -j)
 - Support for building on 32-bit hosts
 - Remove configuration defaults from code, require everything to be specified in a configuration file