Blog


gem5-22.0 Released!

by Jason Lowe-Power

First of all, thank you to all of the contributors who made this another great gem5 release! We’ll be talking about this release and many other cool things that have happened in the gem5 community over the past few years at the gem5 workshop with ISCA 2022. You can find a livestream and recording on our youtube channel.

gem5 version ...

Read more...




The Case for Using Guix to Solve the gem5 Packaging Problem

by Christopher Batten1, Pjotr Prins2, Efraim Flashner2, Arun Isaac2,Ekaiz Zarraga2, Erik Garrison2, Tuan Ta1

1 School of Electrical and Computer Engineering, Cornell University, Ithaca, NY
2 The University of Tennessee Health Science Center, Memphis, TN
3 ElenQ Technology

This post will first describe the gem5 packaging problem before making the case for using Guix, a mature functional cross-platform package manager, for building, distributing, installing, and managing the gem5 ecosystem.

The gem5 Pack...

Read more...




Support for LupIO devices in gem5

by Joël Porquet-Lupine

The case for a comprehensive and open-source collection of I/O devices

As all the gem5 users probably know, researchers in computer architecture often need to build a full hardware system in order to, for example, experiment a novel micro-architectural approach. In such a scenario, creating I/O devices for the system is typically not the main goal but only a necessary step, and researchers will therefore l...

Read more...




gem5-21.2 Released!

by Bobby R. Bruce

We are proud to announce version 21.2 of the the gem5 project. In this release we incorporated 790 commits from 33 unique authors, new and regular, from both academia and industry. We are, as always, thankful to all the time our community puts into maintaining and improving gem5.

21.2 Highlights

Enhanced Standard Library

Having existed since v21.1 under the now deprecated name “the components library”, the v21.2...

Read more...




gem5-21.1 Roadmap

by Jason Lowe-Power

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 ...

    Read more...




    gem5-21.0 Released!

    by Jason Lowe-Power

    Version 21.0 marks one full year of gem5 releases, and on this anniversary, I think we have some of the biggest new features yet! This has been a very productive release with 100 issues, over 813 commits, and 49 unique contributors.

    21.0 New features

    AMBA CHI protocol implemented in SLICC: Contributed by Tiago Mück

    ...

    Read more...




    Arm's Transactional Memory Extension support in gem5

    by Timothy Hayes

    This post was originally posted on the Arm Research Blog: here

    April 16 2021: The code example in this article has been updated to reflect the Armv9-A architecture release and to be ...

    Read more...




    gem5-20.1 Released!

    by Jason Lowe-Power

    gem5-20.1 has been released! The stable branch of the gem5 repo now points to the gem5-20.1 release instead of the gem5-20.0 release. Overall, the 20.1 release was much smoother than the gem5-19 and gem5-20.1 release. I think we’re learning how to do this!

    Thank you to everyone that made this release possib...

    Read more...




    gem5 O3CPU Backend Documentation Update

    by Zhengrong Wang

    The documentation about gem5 O3CPU is a little bit abstract and not closely related to the code. Therefore, this post extracts key function chains to show how an instruction is handled by the backend, with some basic description to ease the learning curve of the O3CPU backend (IEW and Commit stage).

    Hopefully this could help more people. Reader should already be familiar with gem5. This post has also been added to the

    Read more...




    gem5-20.1 Roadmap

    by Jason Lowe-Power and Bobby Bruce

    After our successful release of gem5-20, it’s time to start thinking about gem5’s next release, gem5-20.1!

    We received great feedback during the gem5 town hall held with the gem5 workshop about the new features that the community would like to see for the next release.

    Based on this feedback, below are the major projects...

    Read more...




    Town Hall Meeting notes

    by Bobby R. Bruce

    On Wednesday June 3rd the gem5 Workshop Town hall was held.

    This session was recorded and is publicly available for viewing:

    Noted below are the highlights from the meeting:

    • A question was raised about minor releases. While we are open to the idea of rele...

      Read more...




      Towards full-system discrete GPU simulation

      by Mattew Poremba, Alexandru Dutu, Gaurav Jain, Pouya Fotouhi, Michael Boyer, and Bradford M. Beckmann.

      AMD Research is developing a full system GPU (Graphics Processing Unit) model capable of using the amdgpu Linux kernel driver and the most up to date software stacks. Previously AMD updated the gem5 [1] GPU compute timing model to execute the GCN (Graphics Core Next) generation 3 machine ISA [2,3], but it still relied on system-call emulation. With full-system support, the model can run the most recent open-source Radeon Open Compute platform (ROCm) stack without modification. This allows...

      Read more...




      Adaptive Traffic Profiles as a tool to model heterogeneous systems in gem5

      by Matteo Andreozzi, Frances Conboy, Giovanni Stea, and Raffaele Zippo

      Heterogeneous systems, composed of a variety of devices, are especially difficult to design and dimension for target use-cases. There is a pressing need for tools that can facilitate the exploration of their design space, so that designers and testers can be allowed to predict or measure performance on their target use-cases. On the other hand, a new generation of applications, such as automated driving or Industry 4.0 ones, is putting challenging requirements on heterogeneous systems. The...

      Read more...




      Enabling Multi-GPU Support in gem5

      by Bobbi W. Yogatama, Matthew D. Sinclair, Michael M. Swift

      Introduction

      In the past decade, GPUs have become an important resource for compute-intensive, general-purpose GPU applications such as machine learning, big data analysis, and large-scale simulations. In the future, with the explosion of machine learning and big data, application demands will keep increasing, resulting in more data and computation being pushed to GPUs. However, due to the slowing of Moore’s Law and rising manufacturing costs, it is becoming mor...

      Read more...




      A Modular and Secure System Architecture for the IoT

      by Nils Asmussen, Hermann Härtig, and Gerhard Fettweis

      Introduction

      The “Internet of Things (IoT)” is already pervasive in industrial production and it is expected to become ubiquitous in many other sectors, too. For example, such connected devices have great potential to better automate and optimize critical infrastructure such as electrical grids and transportation networks and are also promising for health care applications. However, a one-size-fits-all solution for the compute hardware and system software of all...

      Read more...




      gem5 GUI

      by Shivam Desai, Rohit Dhamankar, Ravishdeep Singh, Ahmed Farooqui, Jason Lowe-Power, and Bobby R. Bruce

      Overview

      Background and Motivation

      The current state of gem5 requires the development of python scripts to define and generate different architectures. This can be tedious to develop since the user flow can result in less visual thinking. We want a tool to have a better user flow to allow developers to create and tweak these models in a visual manner, much like Chisel. To make gem5 more accessible and allow new users to utili...

      Read more...




      A flexible cache coherency protocol for the Ruby memory system

      by Tiago Mück

      Gem5’s Ruby memory subsystem provides flexible on-chip network models and multiple cache coherency protocols modeled in detail. However, simple experiments are sometimes difficult to pull off. For instance, modifying an existing configuration by just adding another shared cache level requires either:

      1. switching to an entirely new protocol that models the desired cache hierarchy;
      2. or modify an existing protocol;

      While (1) is not always an option, (2) ...

      Read more...




      Modeling Modern GPU Applications in gem5

      by Kyle Roarty and Matthew D. Sinclair

      In 2018, AMD added support for an updated gem5 GPU model based on their GCN3 architecture. Having a high-fidelity GPU model allows for more accurate research into optimizing modern GPU applications. However, the complexity of getting the necessary libraries and drivers, needed for this model to run GPU applications in gem5, made it difficult to use. This post describes the work we have done with increasing the usability of the GPU model by simplifying the setup process, extending the typ...

      Read more...




      Memory controller updates for new DRAM technologies, NVM interfaces and flexible memory topologies

      by Wendy Elsasser and Nikos Nikoleris

      Adding LPDDR5 support to DRAMCtrl

      LPDDR5 is currently in mass production for use in multiple markets including mobile, automotive, AI, and 5G. This technology is expected to become the mainstream Flagship Low-Power DRAM by 2021 with anticipated longevity due to proposed speed grade extensions. The specification defines a flexible architecture and multiple options to optimize across different use cases, trading off power, performance, reliabi...

      Read more...




      HeteroGarnet - A Detailed Simulator for Diverse Interconnect Systems

      by Srikant Bharadwaj, Jieming Ying, Bradford Beckmann, and Tushar Krishna

      Networks-on-Chips (NoCs) have become inevitably more complex with the increased heterogeneity of Systems-On-Chip (SoCs). Recent advances in die-stacking and 2.5D chip integration introduce in-package network heterogeneities that can complicate the interconnect design. Detailed modeling of such complex systems necessitates accurate modeling of their characteristics. Unfortunately, NoC simulators today lack the flexibility and features required to model these diverse interconnects.

      W...

      Read more...




      gem5art announcement

      by Hoa Nguyen

      gem5art-logo

      gem5art: a gem5 Experiment Framework

      Hoa Nguyen, Ayaz Akram, Mahyar Samani, Krithiga Murugavel, Trivikram Reddy, Marjan Fariborz, Pouya Fotouhi, Jason Lowe-Power

      We are excited to announce the gem5art project, a framework aiming to tackle the issue of reproducibility of gem5 experiments and improve the overall testing and expe...

      Read more...




      gem5-20.0 Released!

      by Jason Lowe-Power

      After much waiting, and a few surprising issues, gem5-20.0 has been released! The master branch of the gem5 repo now points to the gem5-20 release instead of the gem5-19 release.

      Thank you to everyone that made this release possible! This has been a very productive release with 84 issues, ab...

      Read more...




      gem5 joins Season of Docs!

      by Bobby R. Bruce

      We are pleased to announce that the gem5 project will be participating in this year’s Season of Docs. Season of Docs is a program, run by Google, with the goal of fostering collaboration between open source projects and technical writers.

      In this blog post we shall outline who we are and what kind of projects we are looking for technical writers to undertake. Durin...

      Read more...




      X86 Linux Boot Status on gem5-19

      by Ayaz Akram

      gem5-linux-logo

      The frequency of changes pushed to gem5 is increasing with time. This makes it important to have an up-to-date idea of what is working with gem5 and what is not. The booting of the Linux kernel is a very important benchmark to ascertain the working status of gem5, considering that gem5 is a full-system simulator which should be able to simulate a modern operating system. However, the state of support of latest Linu...

      Read more...




      gem5-19 Released!

      by Jason Lowe-Power

      gem5-19.0.0.0 has officially been released! We’re a couple of months behind schedule, but future releases should be better.

      The main goal of the gem5-19 release was to test our release mechanisms to make sure that things go smoothly for the first “RE-gem5” release. In this sense, gem5-19 is a major success! We were able to find several bugs in our release methodology that have been worked out. I’m hopeful that the gem5-20 release will ...

      Read more...




      gem5 Website Redesign

      by Jason Lowe-Power

      Welcome to gem5’s new website! The old wiki has needed a refresh for a few years (see screenshot below), and we’re excited to finally have something to share with the community! We hope the new site has better usability and makes it easier to find information about gem5 and how to use it. If you have any questions or comments, don’t hesitate to reach out on the gem5-dev mailing list!

      Read more...




      RE-gem5: Building Sustainable Research Infrastructure

      by Jason Lowe-Power and Matt Sinclair

      Note: this post originally appeared on Computer Architecture Today.

      RE-gem5 is a directed effort to rejuvenate the underlying infrastructure of gem5. RE-gem5 is not a new simulator or a new project; it is a project to enhance and support the current gem5 infrastructure.

      The community-developed gem5 infrastructure is one of the most popular and widely known cycle-level...

      Read more...




      subscribe via RSS