
gem5
gem5 is a free, modular simulator for computer-system architecture research, covering system-level architecture and processor microarchitecture.
What gem5 is
gem5 is a free, modular simulator for computer-system architecture research, covering system-level architecture and processor microarchitecture. It is used in academia, industry research, and teaching. The platform includes four interpretation-based CPU models and a KVM-based model for faster simulation, plus an event-driven memory system with caches, crossbars, snoop filters, and a DRAM controller model. It supports Alpha, ARM, SPARC, MIPS, POWER, RISC-V, and x86 instruction sets, along with full-system simulation and application-only execution through Linux emulation. A NoMali GPU model works with Linux and Android GPU driver stacks but does not produce visual output. gem5 can also run within the SystemC event kernel and provides a wrapper for SystemC Transaction Level Modelling. The simulator uses a Berkeley-style open-source license, with some portions subject to their original licenses. Builds are tested on Ubuntu 22.04 and 24.04; the documentation identifies specific Ubuntu and kernel combinations as regularly supported for version 25.0. It is available for Linux, macOS, and self-hosted use.
Good
- Supports full-system and application-only simulation.
- Models a range of instruction set architectures.
- Includes event-driven memory components and CPU models.
- gem5art supports experiment artifact and result tracking.
Watch out
- The NoMali GPU model produces no visual output.
- For v25.0, regular support covers specified Ubuntu and kernel combinations.
- Some portions use their original licenses.
Who it suits
gem5 suits researchers, educators, and others studying computer-system architecture or processor microarchitecture. It is especially relevant to users who need configurable CPU, memory, or instruction-set simulation.
Verdict
gem5 offers broad architectural simulation capabilities for research and teaching, with a free open-source release. Check the documented build requirements and supported Ubuntu/kernel combinations for your environment.
Plans and prices
From gem5's own pricing page, checked 3 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| gem5 | Free | Open-source computer-system architecture simulator |
The facts
Each one read from gem5's own pages, with the date it was checked.
Where it runs
- Build platforms
- The project tests builds on Ubuntu 22.04 and 24.04; it says other Linux-based operating systems can work with the required dependencies installed.checked 3 Oct 2026
What it does
- Build requirements
- The building guide lists GCC version 10 or later, up to version 13, and says Clang is also supported.checked 3 Oct 2026
- CPU models
- gem5 provides four interpretation-based CPU models and a KVM-based CPU model for faster simulation.checked 3 Oct 2026
- GPU model
- gem5 includes a NoMali GPU model compatible with the Linux and Android GPU driver stack; it does not produce visual output.checked 3 Oct 2026
- Instruction sets
- The about page lists Alpha, ARM, SPARC, MIPS, POWER, RISC-V, and x86 ISA support.checked 3 Oct 2026
- Known support limit
- For gem5 v25.0, the documentation says only the listed Ubuntu 22.04/kernel 5.15 and Ubuntu 24.04/kernel 6.8.12 combinations are regularly tested and supported.checked 3 Oct 2026
- License
- The simulator is released under a Berkeley-style open-source license, with portions derived from other sources subject to their original licenses.checked 3 Oct 2026
- Memory modeling
- Its event-driven memory system includes caches, crossbars, snoop filters, and a DRAM controller model.checked 3 Oct 2026
- Purpose
- gem5 is a modular platform for computer-system architecture research, covering system-level architecture and processor microarchitecture.checked 3 Oct 2026
- Reproducibility
- gem5art provides Python modules for artifacts, reproducibility, and testing, and can store experiment inputs and results in a database.checked 3 Oct 2026
- Simulation modes
- gem5 supports full-system simulation and application-only execution using Linux emulation.checked 3 Oct 2026
- Support
- Users can ask questions through GitHub Discussions, Slack, or mailing lists; bug reports should be submitted through GitHub issues.checked 3 Oct 2026
- SystemC integration
- gem5 can run as a thread inside the SystemC event kernel, and provides a wrapper for SystemC Transaction Level Modelling.checked 3 Oct 2026
- Users
- The project says gem5 is used in academia, industry research, and teaching.checked 3 Oct 2026
Alternatives to gem5
- 1

PPSSPP
Free planOpen sourceAndroidiOSAPILinux8.6$4.99 one-time - 2
Vita3K
Free planOpen sourceAndroidLinuxmacOSWindows7.7Free plan - 3

QEMU
Free planOpen sourceAPILinuxmacOSSelf-hosted7.6Free plan - 4
Snes9x
Free planAndroidWebLinuxmacOS7.6Free plan - 5

DOSBox-X
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.4Free plan - 6

Genymotion Desktop
Free planLinuxmacOSWindows7.4From $49 a year
