authors: Jason Lowe-Power
last edited: 2025-07-26 00:02:36 +0000

gem5 Documentation

gem5 Bootcamp 2024

As of gem5 v24.0, the most comprehensive, up to date guide for learning how to use gem5 is the material from the summer 2024 gem5 bootcamp.

Learning gem5

Notice: Many parts of Learning gem5 are outdated. Some sections of Learning gem5 have been updated for gem5 v24.1 based on content from the 2024 gem5 bootcamp, but others have not. Proceed with caution!

Learning gem5 gives a prose-heavy introduction to using gem5 for computer architecture research written by Jason Lowe-Power. This is a great resource for junior researchers who plan on using gem5 heavily for a research project.

It covers details of how gem5 works starting with how to create configuration scripts. It then goes on to describe how to modify and extend gem5 for your research including creating SimObjects, using gem5’s event-driven simulation infrastructure, and adding memory system objects. In Learning gem5 Part 3 the Ruby cache coherence model is discussed in detail including a full implementation of an MSI cache coherence protocol.

More Learning gem5 parts are coming soon including:

Note: this has been migrated from learning.gem5.org and there are minor problems due to this migration (e.g., missing links, bad formatting). Please contact Jason (jason@lowepower.com) or create a PR if you find any errors!

gem5 101

gem5 101 is a set of assignments mostly from Wisconsin’s graduate computer architecture classes (CS 752, CS 757, and CS 758) which will help you learn to use gem5 for research.

gem5 API documentation

You can find the doxygen-based documentation here: http://doxygen.gem5.org/release/current/index.html

Other general gem5 documentation

See the navigation on the left side of the page!