From 1a0669bdf7f28ddea7ae1cf1908853821fbbf773 Mon Sep 17 00:00:00 2001 From: Ivana Mitrovic Date: Fri, 28 Jun 2024 07:21:54 -0700 Subject: [PATCH] website: Update for v24.0 (#132) Updates website for the v24.0. I will mark it as ready for review once we release the new version, as these changes shouldn't be applied beforehand. --- .../documentation/gem5-stdlib/0-overview.md | 2 +- .../general_docs/building/index.md | 44 +++++++++++-------- .../learning_gem5/part1/part1_1_building.md | 10 ++--- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/_pages/documentation/gem5-stdlib/0-overview.md b/_pages/documentation/gem5-stdlib/0-overview.md index ccc8d27d7..1f895c629 100644 --- a/_pages/documentation/gem5-stdlib/0-overview.md +++ b/_pages/documentation/gem5-stdlib/0-overview.md @@ -22,7 +22,7 @@ The following subsections give a broad overview of the gem5 stdlib packages and Please ensure you have the correct version of gem5 before proceeding.** As part of [gem5's 2022 Bootcamp](/events/boot-camp-2022), the stdlib was taught as a tutorial. -Slides for this tutorial can be found [here](https://ucdavis365-my.sharepoint.com/:p:/g/personal/jlowepower_ucdavis_edu/EWxNhA79fP1Fk4byc0kfPK4BQDDTHdeNGA9p7SkAzvVO-Q?e=Y8aKMv&action=embedview&wdbipreview=true). +Slides for this tutorial can be found [here](https://raw.githubusercontent.com/gem5bootcamp/gem5-bootcamp-env/main/assets/slides/using-gem5-02-gem5-stdlib-tutorial.pdf). A video recording of this tutorial can be found [here](https://www.youtube.com/watch?v=vbruiMyIFsA). diff --git a/_pages/documentation/general_docs/building/index.md b/_pages/documentation/general_docs/building/index.md index 6e9f2731e..c88386807 100644 --- a/_pages/documentation/general_docs/building/index.md +++ b/_pages/documentation/general_docs/building/index.md @@ -12,21 +12,14 @@ authors: Bobby R. Bruce ## Supported operating systems and environments gem5 has been designed with a Linux environment in mind. We test regularly -on **Ubuntu 20.04**, and **Ubuntu 22.04** to ensure gem5 functions well in +on **Ubuntu 20.04**, **Ubuntu 22.04** and **Ubuntu 24.04** to ensure gem5 functions well in these environments. Though **any Linux based OS should function if the correct dependencies are installed**. We ensure that gem5 is compilable with both gcc and clang (see [Dependencies](#dependencies) below for compiler version information). -**Mac OS should work when compiling using the clang compiler**, with all other -dependencies installed. However, at present, we do not officially test our -builds on Mac OS. **We therefore cannot guarantee the same stability for those -wishing to compile and run gem5 in Mac OS as we can in Linux-based systems**. -[In later versions of gem5, we hope to more effectively support Mac OS through -improved testing](https://gem5.atlassian.net/browse/GEM5-538). - As of gem5 21.0, **we support building and running gem5 with Python 3.6+ -only.**. gem5 20.0 was our last version of gem5 to provide support for Python +only**. gem5 20.0 was our last version of gem5 to provide support for Python 2. If running gem5 in a suitable OS/environment is not possible, we have provided @@ -37,10 +30,8 @@ information on this. ## Dependencies * **git** : gem5 uses git for version control. -* **gcc**: gcc is used to compiled gem5. **Version >=8 must be used**. We -support up to gcc Version 12. **Note**: GCC Version 9 may be used but is not officially -supported due to it -[increasing gem5 Object File sizes](https://github.com/gem5/gem5/issues/555). +* **gcc**: gcc is used to compiled gem5. **Version >=10 must be used**. We +support up to gcc Version 13. * **Clang**: Clang can also be used. At present, we support Clang 7 to Clang 16 (inclusive). * **SCons** : gem5 uses SCons as its build environment. SCons 3.0 or greater @@ -53,6 +44,18 @@ generation and playback. libraries. It is a necessary dependency if you wish to use the SystemC implementation. +### Setup on Ubuntu 24.04 (gem5 >= v24.0) + +If compiling gem5 on Ubuntu 24.04, or related Linux distributions, you may +install all these dependencies using APT: + +``` +sudo apt install build-essential scons python3-dev git pre-commit zlib1g zlib1g-dev \ + libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ + libboost-all-dev libhdf5-serial-dev python3-pydot python3-venv python3-tk mypy \ + m4 libcapstone-dev libpng-dev libelf-dev pkg-config wget cmake doxygen +``` + ### Setup on Ubuntu 22.04 (gem5 >= v21.1) If compiling gem5 on Ubuntu 22.04, or related Linux distributions, you may @@ -82,16 +85,21 @@ sudo apt install build-essential git m4 scons zlib1g zlib1g-dev \ For users struggling to setup an environment to build and run gem5, we provide the following Docker Images: +Ubuntu 24.04 with all optional dependencies: +[ghcr.io/gem5/ubuntu-24.04_all-dependencies:v24-0]( +https://ghcr.io/gem5/ubuntu-24.04_all-dependencies:v24-0) +([source Dockerfile](https://github.com/gem5/gem5/blob/v24.0.0.0/util/dockerfiles/ubuntu-24.04_all-dependencies/Dockerfile)). + +Ubuntu 24.04 with minimum dependencies: +[ghcr.io/gem5/ubuntu-24.04_min-dependencies:v24-0]( +https://ghcr.io/gem5/ubuntu-24.04_min-dependencies:v24-0) +([source Dockerfile](https://github.com/gem5/gem5/blob/v24.0.0.0/util/dockerfiles/ubuntu-24.04_min-dependencies/Dockerfile)). + Ubuntu 22.04 with all optional dependencies: [ghcr.io/gem5/ubuntu-22.04_all-dependencies:v23-0]( https://ghcr.io/gem5/ubuntu-22.04_all-dependencies:v23-0) ([source Dockerfile]( https://github.com/gem5/gem5/blob/v23.0.1.0/util/dockerfiles/ubuntu-22.04_all-dependencies/Dockerfile)). -Ubuntu 22.04 with minimum dependencies: -[ghcr.io/gem5/ubuntu-22.04_min-dependencies:v23-0]( -https://ghcr.io/gem5/ubuntu-22.04_min-dependencies:v23-0) ([source Dockerfile]( -https://github.com/gem5/gem5/blob/v23.0.1.0/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile)). - Ubuntu 20.04 with all optional dependencies: [ghcr.io/gem5/ubuntu-20.04_all-dependencies:v23-0]( https://ghcr.io/gem5/ubuntu-20.04_all-dependencies:v23-0) ([source Dockerfile]( diff --git a/_pages/documentation/learning_gem5/part1/part1_1_building.md b/_pages/documentation/learning_gem5/part1/part1_1_building.md index a399a320c..5aef02793 100644 --- a/_pages/documentation/learning_gem5/part1/part1_1_building.md +++ b/_pages/documentation/learning_gem5/part1/part1_1_building.md @@ -10,7 +10,7 @@ author: Jason Lowe-Power Building gem5 ============= -This chapter covers the details of how to set up a gem5 developmment +This chapter covers the details of how to set up a gem5 development environment and build gem5. Requirements for gem5 @@ -37,7 +37,7 @@ sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev sudo apt install git ``` -2. gcc 8+ +2. gcc 10+ : You may need to use environment variables to point to a non-default version of gcc. @@ -47,11 +47,7 @@ sudo apt install build-essential git m4 scons zlib1g zlib1g-dev libprotobuf-dev sudo apt install build-essential ``` - **We support GCC Versions >=7, up to GCC 11** - - **Note**: We do not recommend using GCC Version 9 due to a [known issue - with it increasing gem5 Object File size](https://github.com/gem5/gem5/issues/555). - It is not officially supported. + **We support GCC Versions >=10, up to GCC 13** 3. [SCons 3.0+](http://www.scons.org/) : gem5 uses SCons as its build environment. SCons is like make on