Difference between revisions of "Releases"
Jump to navigation
Jump to search
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
== Recent Sniper Releases == | == 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) === | === Version 7.2 (February 16th, 2019) === |
Latest revision as of 19:24, 14 April 2021
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