website: Add gem5-21.1 roadmap

Signed-off-by: Jason Lowe-Power <>
Change-Id: I5879b1bed1d33f40792c6d5a4bf53d6456925683
Reviewed-by: Daniel Carvalho <>
Reviewed-by: Jason Lowe-Power <>
Maintainer: Jason Lowe-Power <>
Tested-by: Jason Lowe-Power <>
diff --git a/_posts/ b/_posts/
new file mode 100644
index 0000000..e8eb824
--- /dev/null
+++ b/_posts/
@@ -0,0 +1,92 @@
+layout: post
+title:  "gem5-21.1 Roadmap"
+author: Jason Lowe-Power
+date:   2021-04-25
+categories: project
+Early on in each release, we like to provide the community with a roadmap of what is being developed for the next gem5 release.
+This is a community-based document, and it is a summary of what different developers are currently work on.
+If you have something that you're working on that you are planning to contribute before the gem5-21.1 release, we'd love to include it here!
+To contribute to the roadmap you can following the steps below:
+1. Create a issue or an epic on our [issue tracker]( If the contribution is large with many different individual contributions, it would be best to create an epic to group all of the separate issues together.
+2. Mark the issue as "Fix version 21.1" and assign yourself as the "Assignee".
+3. Update [this roadmap document]( by [downloading the website source]( and creating a changeset [on gerrit](
+## Roadmap for 21.1
+We're planning to release gem5-21.1 **during July** (about 4 months after the gem5-21.0 release).
+Below are the main features we're currently planning on including in 21.1.
+### [gem5 component library](
+Wouldn't it be cool if using gem5 was like walking into [Microcenter]( and choosing components?
+The goal of this project is to make this happen!
+We will create a library of components and "known-good" configurations.
+With the *components*, you can choose components like different cache systems (e.g., private L1, shared L2), different CPUs, and different RAMs to plug into a "board" to create a system.
+Alternatively, you can choose to use one of our prebuilt systems as a baseline.
+These prebuilt systems will be benchmarked/tested and the data will be publically available on the gem5-resources webpage: <>.
+For the components, the goal is that they are always composable.
+In other words, any memory can be connected to any cache system which can be connected to any CPU.
+And, hopefully, this will work for any ISA, etc.
+We're working on the details now and will have a proposal on gerrit in the next few weeks.
+If you have feedback feel free to let us know on gem5-dev mailing list, the [Jira issue](, or the gerrit changesets when they are posted.
+### [Continue improving python-based stats](
+In [gem5-21.0]({% post_url 2021-3-19-gem5-21-0 %}), we implemented a python-based API for accessing stats.
+However, this was not enabled by default.
+In 21.1, we are expecting this API to be improved and more features added.
+Let us know what you would like to see from a new stats interface in the [Jira issue]( or on the mailing list!
+### [SST integration](
+We have been working to revamp the gem5-SST integration for a couple of releases now.
+We started by [creating a documented stable API](, which still has a few unresolved issues.
+We expect that by 21.1 we will have a proof-of-concept where gem5 can be used as a component in SST.
+### [Upstreaming power-gem5](
+POWER support in gem5 has languished over the years.
+However, there has been significant effort in a [fork of gem5]( to update to the latest POWER features and improve the support.
+There are currently many changes on gerrit: E.g., <> working to merge these two.
+We would appreciate reviews and feedback on these changes especially if POWER support is important to you!
+### GPU updates
+#### [Full system GPU](
+Currently, gem5 also only supports GPU runs in SE mode, not FS mode.
+As part of the next release, we plan on releasing FS mode support for gem5 GPU models.
+#### [Supporting new runtimes and GPUs](
+Currently gem5's SE mode GPU support is for ROCm 1.6 and Carrizo-class GPUs, which is fairly old now.
+To help address this, we are planning on releasing support for ROCm 4.0 in the next version of gem5.
+Moreover, we will also include support for Vega-class GPUs, which are more modern.
+### Other things we're working on
+Below are some other things that we have either started to work on or would like to do, but are either smaller or on the back burner.
+If anyone is interested in contributing, picking up one of these issues could be a great way!
+- [Improving the multi-level TLB models](
+  - No current active development, but significant interest from many different users/developers
+- [Pydoc documentation](
+- [RISC-V PMP support](
+- [Upgrade the replacement policies API to support state-of-the-art replacement policies](
+  - [The respective chain does the change and adds SHiP to exemplify](
+- [Enable GTesting of SimObjects (key part) and add as many unit tests as possible](
+  - (Respective chain)[]
+- If the key changes of the GTesting issue are merged, [revamp probes](
+  - [Respective chain](
+- Finally, add a gem5 namespace. The change itself does not necessarily need to be over by the next version, but it would be great to have a decision and the very few first steps taken by then.
+  - See <>