Blog


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




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