Tools, Simulators, & Benchmarks
- Others
- MOLEN Platform - allows software and reconfigurable hardware co-execution. User can implement functions in reconfigurable hardware, compile supporting application software, and experiment on silicon.
- Instruction-Level Simulation And Tracing -
- A Processor Based Classification of the Instrumentation and Simulation Tools - a summary of the many tools available for simulation and instrumentation.
- Collective Optimization Database - Collective Optimization Database (cDatabase or COD) provides a common global repository with data analysis plugins to share, analyze and reference useful program/architecture optimization cases. It has been developed to help users optimize programs, libraries, kernels and the whole systems (compiler optimizations/architecture configurations to improve execution time, code size, architecture size, power consumption, etc). It is intended to simplify and automate the design and optimization of programs, compilers, run-time systems and architectures based on recent statistical and machine learning techniques. It is also intended to improve the quality of academic research by avoiding costly duplicate experiments and providing replicable referable results.
- Mantevo Project - A collection of miniapplications and minidrivers that act as performance proxies for large-scale applications in computational mechanics, molecular dynamics, circuit simulation and other areas, intended as co-design vehicles for new architecture, OS, runtime and programming model efforts.
- Simulators
- GEMS - General Execution-driven Multiprocessor Simulator (GEMS), based on Simics
- Simics - full system simulator
- Bochs - Open-source IA-32 Full System Emulator Project
- ATL CSIM - General purpose high level computer architecture simulator, C-based with graphics
- ML-RSIM - Detailed execution-driven simulator running a Unix-compatible operating system
- Dinero IV - trace-driven uniprocessor cache simulator
- WARTS - Wisconsin Architectural Research Tool Set
- WWT2 - Wisconsin Wind Tunnel II - multiprocessor simulator
- EEL - an Executable Editing Library
- QPT2 - a program profiling and tracing tool
- RSIM - Rice Simulator for ILP Multiprocessors
- SimplePower - execution-driven datapath energy estimation tool based on SimpleScalar
- ABSS - SPARC multiprocessor simulator -
- HASE - a Hierarchical computer Architecture design and Simulation Environment developed at the University of Edinburgh to support both research (e.g. performance evaluation of computing systems) and teaching (e.g the visualisation of activities taking place inside computers as they execute programs). Several simulation models are available to download for use in teaching.
- Shade - instruction-set simulator and custom trace generator new site
- MINT - (MIPS INTerpreter) is a fast program-driven simulator for multiprocessor systems
- Augmint - multiprocessor tracing-simulation tool, based on MINT
- SMPCache - Simulator for Cache MemorySystems on Symmetric Multiprocessors - SMPCache provides an educational tool for examining cache design issues for symmetric multiprocessor. It is a portable software package that runs on PC systems with Windows. It is available at no cost for noncommercial use.
- WinMIPS64 - a MIPS 64-bit pipeline simulator - A MIPS-64 simulator, replacement for WinDLX
- TurboSMARTSim - Fast and accurate timing simulation through rigorous statistical sampling and live-points
- Flexus 2.0 (simflex) - Component-based full-system multiprocessor in-order/out-of-order simulation infrastructure; extends Simics; 2.0 release enhances speed, adds directory-based coherence components
- Flexus-VFI - a version of the Flexus CMPFlex.OoO chip-multiprocesor simulator. It extends CMPFlex.OoO to model voltage/frequency island based systems in which cores and cache banks can all be run at varying frequencies. It also adds dynamic and static power modeling, thermal modeling, and dynamic voltage/frequency scaling.
- SID - Red Hat's SID framework for building computer system simulations
- LSE - A high-level processor modeling system supporting component reuse and a library of predefined flexible model components. Models are automatically compiled into executable simulators.
- IATO (IA64 Toolkit) - IATO, the IAOO Toolkit is a flexible environment that permits to analyze, emulate or simulate the IA64 Instruction Set Architecture (ISA) binary executables. IATO is a flexible and portable framework that is built around a set of C++ libraries and clients. The fundamental clients are the IA64 emulator+and simulators. Other clients provides supports for program analysis and statistical computation.
- NePSim - A Network Processor Simulator with Power Evaluation Framework. NePSim is the first open source integrated infrastructure for analyzing and optimizing NP design and power dissipation at architecture-level. NePSim contains a cycle-accurate simulator for a typical NP architecture (Intel's IXP1200), an automatic verification framework for testing and validation, and a power estimation model for measuring the power consumption of the simulated NP. NePSim achieves satisfactory accuracy in both performance and power modeling.
- PDIWeb - Web Simulator for Instruction Dynamic Scheduling (of the Pipelining). Following the concepts explained in the textbook \223Computer Architecture: A Quantitative Approach\224, 3rd edition, 2003, Morgan Kaufmann (by Hennessy & Patterson)
- SESC - A fast architectural simulator for CMPs with out-of-order processors.
- Full-System Simulator for IBM PowerPC 970 - Execution-driven, full-system simulator for PowerPC 970. It enables development teams both within and outside IBM to simulate a PowerPC 970 system in order to develop and enhance application support for this platform.
- M-Sim Version 3.0 - A multi-threaded extension to the SimpleScalar simulator.
- QEMU - Full system and user-mode simulator, with accelerators for simulating and executing on the same ISA.
- Noxim - SystemC-based Network-on-Chip simulator
- FAME - Fast and Accurate Morolora 68000 Emulation Library
- Liberty Simulation Environment - language, compiler, and libraries designed to create hardware models
- RAMP Gold - RAMP Gold is an economical FPGA-based architecture simulator developed at the UC Berkeley Parallel Computing Lab. It allows rapid early design-space exploration of manycore systems. RAMP Gold models target-system timing and functionality separately, and it employs hostmultithreading for an efficient FPGA implementation. It is a high-throughput, cycle-accurate full-system simulator, capable of booting real operating systems. The RAMP Gold prototype runs on a single Xilinx Virtex-5 FPGA board and simulates a 64-core shared-memory target machine. We evaluate its performance using a modern parallel benchmark suite running on our manycore research operating system, achieving two orders of magnitude speedup compared to a widely-used software-based architecture simulator. RAMP Gold source code is under the BSD/GNU license.
- GPU Ocelot - An extendable functional simulator for PTX. Also includes a compiler framework for PTX.
- simhvm - simhvm is an instruction set simulator for Hunt's Vector Machine architecture. Hunt's Vector Machine is an open source royalty free RISC based vector processor.
- YASS - YASS is an integrated set of simulators that encompasses a teaching compiler and assembler, a CPU simulator for a RISC-based architecture and an operating system simulator. The CPU simulator includes an integrated multi-stage (configurable) pipeline and separate data and instruction caches. All the simulators are designed to work together and support each other as in the real world systems. In addition multiple CPU's are also supported. These simulators are created to support degree-level modules in computer architecture, operating systems and compilers from basic to advanced levels of study. All simulators are highly interactive and include many colour-coded visualizations. The simulators have been subject of a reserach work which evaluates their effectives as effective educational resources.
- PTLsim - Open-source, full system, timing simulator. With SMP support, out-of-order cores and AMD64 architecture.
- FeS2 - Timing-first, multiprocessor, x86 simulator, implemented as a module for Virtutech Simics. Uses PTLsim for decoding of uops.
- Simplescalar-AlphaLinux - The Simplescalar simulator ported to Alpha/Linux (with Linux system calls). The good thing about this ISA/OS setup is that a full up-to-date gcc toolchain for it can be easily generated with Crosstool, enabling effortless compilation of the SPEC2006 benchmarks.
- Fabscalar - The FabScalar project provides tools to generate synthesizable RTL models of arbitrary superscalar processing cores.
- COREMU - Parallelized QEMU, support x86, x64 and ARM Cortex full-system emulation.
- SimpleScalar Tool Set - The SimpleScalar tool set, a popular collection of computer simulation tools for uniprocessor platforms. A new release (version 3.0e) is now available.
- Marss - Marss is a full system cycle accurate simulator based on QEMU and PTLsim for x86 based systems. It supports multi-core and multi-threaded simulations with coherent caches. Marss has out-of-order and in-order core models, coherent caches and simple DRAM controller model.
- CAPPSimP - Computer Architecture & Parallel Programming Simulation Platform
- RigelSim - An execution-driven simulator, LLVM-based compiler, libraries, and applications for many-core processors.
- Tools
- ATC - Address trace compressor
- MARS - MIPS Assembler and Runtime Simulator
- CMP-SIM - A chip multiprocessor (CMP) simulation environment
- MSCSim - a memory hierarchy simulator
- BASS 1.0 - a Benchmarking suite for evaluating Architectural Security Systems
- Mercury - A Temperature Emulation Suite for Server Systems
- TCgen - Automatic generator of high-performance trace (de-)compressors for user-defined trace formats
- SHARPE - Symbolic Hierarchical Automated Reliability and Performance Evaluator
- EPIC Explorer - VLIW architecture exploration framework
- WaveScalar Development Toolkit - Alpha to WaveScalar binary translator, WaveCache architecture simulator, cross-compiler tools
- Quantify - Commercial performance tuning tool.
- Vampir - Vampir (Visualization and Analysis tool for MPI Resources) is a tool to analyze the runtime behaviour of MPI programs.
- pfmon - The pfmon tool is a simple monitoring tool which can be used to collect simple counts or samples from unmodified binaries or an entire system.
- RAVEN - Random assembly code generator for processor verification
- HotLeakage - simulatessub-threshold and gate leakage as a function of runtime temperature and operating voltage
- HotSpot thermal model - simulates temperature in conjunction with architecture power/performance simulators
- OProfile - System-wide performance monitoring tool for Linux
- SimPoint - Automatically determining which part(s) of a program to simulate for accurate and representative simulations
- MRRL - for use with sampled simulation; automatically and rigorously determines the minimum fast-forward portion that requires cache simulation to defeat cold-start bias
- MOB - A Memory Organization Benchmark, can be used to probe memory system properties
- ARCHTEST - a commercial multiprocessor verification tool, free for academic uses
- ALTO - Link-time Code Optimization tool
- DAISY - IBM's software for dynamic binary translation research
- CACTI - Cache Access and Cycle Time Information
- Intel's VTune Performance Analyzer -
- CGEN - Red Hat's Cpu tools GENerator
- SBC Traces: SPEC CPU2000 Address Traces - SBC Trace Compression and SPEC CPU2000 traces
- ATMI - Microprocessor temperature model
- VariaSim - CAD tool for studying impact of process variability on circuits
- Sim-SODA - A Framework for Analyzing Microarchitecture Soft-error Vulnerability
- Interactive Compilation Interface - ICI is a plugin system that transforms any production or research compilers into interactive toolsets.
- T&D-Bench - Teaching and Design Workbench - T&D-Bench - is a framework aimed at education and research in the areas of Computer Architecture and Embedded Systems.
- FADSE - Is a tool for automatic design space exploration (ADSE). It offers connectors to existing computer simulators (MSIM 2 and 3, M5, Multi2sim, GAP, etc.), others can be easily added. FADSE is able to perform ADSE using well known search algorithms (NSGA-II, SPEA2, SMPSO, OMOPSO, etc.). FADSE can run the exploration process in parallel.
- Compilers
- IBM Research Jikes Java Compiler & Runtime Project -
- SUIF Compiler -
- IMPACT - public release version of the compiler and simulator
- Trimaran - EPIC research compiler and simulator
- MILEPOST GCC - Machine learning-enabled, self-tuning, adaptive research compiler that correlates program features and optimizations during empirical learning to predict profitable optimizations for unseen programs.
- cTuning CC - Free, open source compiler collection that combines multiple tools and techniques including MILEPOST GCC, ICI, CCC framework, cTuning web-services and Collective Optimization Database and cBench to enable R&D for self-tuning, adaptive computing systems based on industrial tools, empirical techniques, transparent collective optimization, statistical analysis and machine learning.
- Benchmarks & Traces