Commit Graph

108 Commits

Author SHA1 Message Date
Bobby R. Bruce
beff732ecf util-docker: Set dev container to ":latest"
Change-Id: I73bb569e05830d35f0aa63eb75026a83377ae3a5
2024-06-27 23:42:25 -07:00
Bobby R. Bruce
ec120e0c58 util-docker: Update devontainer Dockerfile for v24.0
Change-Id: Id21fb1b12d8ad58338233d4f32be5b57e025f18b
2024-06-20 14:31:12 -07:00
Bobby R. Bruce
9fe2bc9edc util-docker: Update devcontainer to use Ubuntu 24.04 (#1256)
Change-Id: I0e0dbaca2194c7f0ff5de54a49888da1c938c2de
2024-06-18 09:35:18 -07:00
Bobby R. Bruce
ce0bb4655c util-docker,gpu,gpu-compute: Improve GCN-GPU Dockerfile (#1170)
* The GCC used in the GCN-GPU images was increase from version 8 to 
  version 10. This was necessary due to PR #1145 which made GCC require
GCC >=10. This patch was previously part of #1161 but has been merged
into
  this PR.
* A patch has been applied to ROCm-OpenCL-Runtime to fix a linking error
  in which there were multiple definitions of `ret_val`. This issue is
highlighted here:
https://github.com/ROCm/ROCm-OpenCL-Runtime/issues/113.
  This was previously part #1161 but has been moved into this PR.
* The Dockerfile's `RUN` command (built to layers in the Docker image)
  have been refactored so sources and built objects are deleted in the
  same RUN command as where they were built and installed. This reduces
  the size of the image substantially: from 16.3GB down to 6.6GB.
* The `apt upgrade` has been removed. This step (previously at the start
  of the file) did nothing of importance. Removing it saves both time
building the image and reduces the size of the image by a small amount.
* `--depth=1` is used when cloning repositories so the entire commit
tree
  tree is not pulled each time. This saves some time when building the
  image.
* `apt -y update` has been added  where `apt -y install` is used so
  CACHED image layers do not become an issue in the future if the image
  were to be rebuilt.
2024-05-29 07:54:28 -07:00
Bobby R. Bruce
d011fe47a9 util-docker: Upgrade sst-env docker image to use GCC 10
Previously was GCC 9 which is no longer supported by gem5.

Change-Id: Ife715446e3f1179d19db544953fbd6ded25f5b4d
2024-05-20 06:24:14 -07:00
Bobby R. Bruce
321c34d0bd util-docker: Remove GCC-8 from docker-compose.yaml
Change-Id: Ia1aba03412b138b05b569b08a146a2123f7142e4
2024-05-20 06:23:28 -07:00
Matthew Poremba
e4ebe29f43 util: Bump gpu-fs docker to ROCm 6.1 (#1097)
This version matches the disk image on gem5-resources.

Change-Id: I69a45ef290f0fdf2167ead4d67d4d789d30e0e91
2024-05-09 10:11:54 -07:00
Matthew Poremba
9b463dbdfd util-docker: Bump gpu-fs build docker to ROCm 6.0.2 (#1025)
This bumps the docker image used to build GPU applications for input to
GPUFS simulations from ROCm 5.4.2 to ROCm 6.0.2 and Ubuntu from 20.04 to
22.04. This matches the versions in gem5-resources#29 .

Several notes were added to the Dockerfile to describe where the RUN
commands come from. A README.md is also added to clarify that this is
not a disk image for GPUFS and is only used to build applications.

Change-Id: I9ada99e2ed1854cb7adb76f2a1fa662bab398f86
2024-04-15 13:36:06 -07:00
Bobby R. Bruce
ccd9beb661 util-docker: Remove 22.04 min-dep Dockerfile
We only test the latest LTS Ubuntu release with min-deps. With 24.04, we
no longer require the 22.04 min dependencies image.

Change-Id: I4b3d668c1f9d10c2b6071848e6daada6c763b5e7
2024-04-13 14:16:41 -07:00
Bobby R. Bruce
d091c64db1 util-docker: Add Ubuntu 24.04 min-dep Docker
Change-Id: Ia5cb4f2fd54ce53494ab95705b4f6006648d7eba
2024-04-13 14:08:13 -07:00
Bobby R. Bruce
3962fca2e3 util-docker: Add ubuntu-24.04_all-deps Docker
Change-Id: I5917c446cacc25d1a333b5cf8147ee78b112aeb3
2024-04-13 14:08:13 -07:00
Bobby R. Bruce
bdaeb082c3 util-docker: Update docker-compose URLs to 'ghcr.io/gem5' (#1017)
'gcr.io/test-gem5' was the registry we used when hosting them on Google
Cloud services. We now use the GitHub container registries.
2024-04-13 14:05:34 -07:00
Bobby R. Bruce
392a2b4ffa misc: Add a DevContainer specification to the gem5 repo (#911)
Speciftying a DevContainer in gem5 allows for users to quickly create an
environment in which they can develop, build, and run gem5. The
".devcontainer/devcontainer.json" file specifies the properties of the
container. In this commit they are as follows:

1. The Docker image ghcr.io/gem5/devcontainer. This is built from
"util/dockerfiles/devcontainer". This Dockerfile provides all
dependencies and a pre-built gem5 binary from the current main branch
(added to "/usr/local/bin"). In order to support this Docker container
on different platforms we use the Docker multi-platform feature. As
such, this must be built using `docker buildx bake devcontainer --push`
which reads the `docker-bake.hcl file for the specification of the
multi-platform image.
2. Visual Studio extensions. This is a list of Visual Studio Code
extensions useful when developing gem5. They are automatically added the
Visual Studio dev container.
3. Features. Features are enhancemets that can be added to a
DevContainer. Normally they are libraries and other commonly used tools
to be included in the Container. As we have our dependencies specified
in the Dockerfile here we select one to enable Docker inside the
container, one to enable the Github CLI, one to improve Linting, and
finally one to enable the vscode CLI.
4. The On Create Command : This command allows us to specify commands to
be run after the DevContainer is created. In this case we execute
".devcontainer/on-create.sh" which, right now, refreshes the git index
and installed the pre-commit checks.
2024-04-12 10:37:17 -07:00
Harshil Patel
920497c19f tests: Add compiler test for gcc 13 (#858)
Change-Id: I41bdf3ab7ffff21c4148ef17fc5229b5597ec953
2024-02-26 18:03:14 -05:00
Matthew Poremba
2ff57b09d8 util: Update gcn-gpu to remove GCN3 add gfx902 (#804)
This removes the gfx803 and gfx801 targets for building applications as
GCN3 will be removed from gem5. It also removes the copy/paste bug from
the HACC docker which is clobbering the HCC targets and removing gfx902.

Change-Id: I9a0d7fda437e797baf0f743a0a450948b9260b07

Co-authored-by: Harshil Patel <hpppatel@ucdavis.edu>
2024-01-31 16:02:07 -08:00
Matthew Poremba
0f45ae424c util: Remove GCN3 references and target from gcn-gpu docker
Change-Id: I622470588a7e02088a1b9bb3dcfaa677e835e87c
2024-01-17 11:12:36 -06:00
Bobby R. Bruce
f256064b4a util-docker: Enforce cmake version >=3.24 for DRAMSys
DRAMSys requires cmake 3.24 or greater. By default neither Ubuntu 22.04
or 20.04 delevery this by APT.

In both cases wget is required. In 20.04 OpenSSL is required.

Change-Id: I51a7f8a8a46e8cf1908a120adb9289aa3907ccda
2023-11-29 21:49:11 -08:00
Bobby R. Bruce
d4b7c8a26d Merge branch 'develop' into develop-kconfig 2023-11-27 09:39:08 -08:00
Bobby R. Bruce
8f9a328652 util-docker: Add 'cmake' to all-deps
'cmake' is required to build DRAMSysm.

This is an optional dependency for compiling DRAMSys. It is therefore
not required. It is included in the "all-dependencies" Docker images
as they may be needed if DRAMSys is desired.

Change-Id: I1a3e1a6fa2da4d0116d423e9267d4d3095000d4e
2023-11-26 17:10:40 -08:00
Roger Chang
758f9d2ea1 util: Add python3-tk package to dockerfile
The guiconfig required the python3-tk package to run.

Change-Id: I1d126021c2c57448b1ceefb9fff256e2a6bbbf33
2023-11-23 08:26:11 +08:00
Matthew Poremba
3896673ddc util: Bump GPUFS build docker to 5.4.2 (#571)
This dockerfile is used to *build* applications (e.g., from
gem5-resources) which can be run using full system mode in a GPU build.
The next releases disk image will use ROCm 5.4.2, therefore bump the
version from 4.2 to that version.

Again this is used to *build* input applications only and is not needed
to run or compile gem5 with GPUFS. For example:

$ docker build -t rocm54-build .
/some/gem5-resources/src/gpu/lulesh$ docker run --rm -u $UID:$GID -v \
    ${PWD}:${PWD} -w ${PWD} rocm54-build make

Change-Id: If169c8d433afb3044f9b88e883ff3bb2f4bc70d2
2023-11-18 18:13:06 -08:00
Bobby R. Bruce
cb62b08989 util-docker: Update Ubuntu 20.04 to use GCC-10
GCC-9 is no longer supported.

Change-Id: I09bf8f744546908b1c06615b458b31b9b814b61a
2023-11-13 01:36:52 -08:00
Bobby R. Bruce
c40c4450f5 util-docker: Remove GCC Version 9 from Dockerfiles
As we are no longer testing for GCC Version 9, we no longer need to
compile these Docker images.

Change-Id: Ia8fc712043ce211ff46da47fdce691a67ecdbb54
2023-11-13 01:29:56 -08:00
Bobby R. Bruce
cfef2ac23b util-docker: Fix end-of-line error in docker-bake.hcl
Change-Id: I2c792f35d8c74e29cf0dc0bc1287b6b5f3e4d6c8
2023-10-16 12:06:01 -07:00
Ivana Mitrovic
cb078f14c6 docker-bake: Changed compilers names to be more descriptive 2023-10-16 11:53:45 -07:00
Ivana Mitrovic
5b721b033f docker-bake: modified .hcl file
Migrated all the image build definitions from docker-compose.yaml to the bake file.
2023-10-16 11:47:49 -07:00
Ivana Mitrovic
df471092d9 dockerfiles: multi-platform setup (#336)
Updated Dockerfiles to work with multi-platform setups
2023-10-16 11:47:49 -07:00
Kaustav Goswami
68af3f45c9 tests: updated the nightly tests to use SST 13.0.0 (#441)
PR https://github.com/gem5/gem5/pull/396 updates the gem5 SST bridge to
use StandardMem in SST. This change updates the nightly tests to use SST
13.0.0 instead of SST 11.1.0. It also updates the dockerfile.

Change-Id: I5c109c40379d2f09601a1c9f19c51dd716c6582e

---------

Signed-off-by: Kaustav Goswami <kggoswami@ucdavis.edu>
Co-authored-by: Bobby R. Bruce <bbruce@ucdavis.edu>
2023-10-13 14:31:35 -07:00
Bobby R. Bruce
fa8c9414b2 misc,python: Run pre-commit run --all-files
This applies the automatical formatting to the .yaml files.

Change-Id: I10d067ba65722aca8aaf64a62b42ae57de468e75
2023-10-09 13:20:25 -07:00
Bobby R. Bruce
e211674625 util-docker: Fix/Improve ubuntu-22.04_clang-16
* Removes `+` symbol accidently left in (this broke building).
* Removes `ARG` thus making the Docker exclusively for clang-16.
* Adds "llvm.sh" to the repo. This stops us being dependent on the url
  download. The script is under the apache license therefore compatible.
* Merges several `apt install` commands into one.

Change-Id: Iaf411656aac83f67f5395b20efd96ecc1eabb263
2023-09-29 13:12:19 -07:00
Melissa Jost
a79dc3f23c util: Add steps to compile clang-15 and clang-16
This updates the dockerfiles for ubuntu 22.04 to include the
steps necessary to compile clang-15 and clang-16.

Change-Id: I2bba6393ab93a6ce05a2c3ce31f3bbc71bcdca7c
2023-09-29 08:32:01 -07:00
Bobby R. Bruce
a217c218e0 util: Update gcn-gpu Dockerfile (#290)
This adds the setting up of environment variables to the gcn-gpu
Dockerfile from the halofinder Dockerfile in gem5-resources so that we
don't need to use a separate Docker image in the gpu tests.
2023-09-11 11:19:49 -07:00
Melissa Jost
16e8c95091 util: Update gcn-gpu Dockerfile
This adds the setting up of environment variables to the gcn-gpu
Dockerfile from the halofinder Dockerfile in gem5-resources
so that we don't need to use a seperate Docker image in the
gpu tests.

Change-Id: Ifcc7a4c6bbcd5289ce9561923366e9ed193f170c
2023-09-08 10:25:09 -07:00
Bobby R. Bruce
1b0bb678ab util-docker: Proof-of-concept using Docker buildx
Introduced in https://github.com/gem5/gem5/pull/236 the
"docker-build.yaml" file will allow us to build and push docker images
to the GitHub Container Registry. This allows for both automation of
docker image building and allows us to utilize Github's zero-cost
pulling policy for downloads to GitHub Actions runners.

In this PR https://github.com/gem5/gem5/pull/236 has been altered to
use Docker `buildx` which allows for multi-platform Docker Image builds.
A multi-platform Docker image pull automatically pull the correct image
for your platform from a single URL. In this prototype the images are
build to both `linux/arm64` and `linux/amd64` have been set.

Docker `buildx` has it's own file format for specifying image builds
called `bake`. "util/dockerfiles/docker-bake.hcl" has been added with
the goal of replacing "util/dockerfiles/docker-compose.yaml".

In this proof-of-concept doesn't build all our docker images, just
enough to ensure it works inside our actions as intended.

Change-Id: Id0debed216c91ec514aa4fce3bc2ff4fc2ea669b
2023-09-05 17:59:06 -07:00
Matthew Poremba
3520c83673 util: Add gdb to gcn-gpu Dockerfile
gdb was originally part of the ROCm 1.6 Dockerfile a few years ago. It
got removed when updating to ROCm 4.0. This adds it back as being able
to debug things is quite useful.

Change-Id: I3f8148cde79e6cc5233fa3c8c830b64817f01d3a
2023-08-31 11:08:30 -05:00
Bobby R. Bruce
74f6fa34af util-docker: Fix clang-version-8 docker container
clang v8, when installed in this manner via Docker, did not install the
libstdc++. This caused compilation errors. This patch adds the
libstdc++-10-dev package to this Dockerfile.

Change-Id: Ia0f41e82b3df2d4bf32b418b0cb78111a35e0b9f
2023-08-16 10:00:45 -07:00
Bobby R. Bruce
65fc9a6bfa misc: Drop older compilers and Ubuntu 18.04 (#80)
* tests,util-docker,misc: Drop compiler support for GCC 7

Change-Id: I8b17b77c92b88e78a8cb6d38cd5f045dbe80a643

* tests,util-docker,misc: Drop compiler support for clang 6.0

Change-Id: Ie3b6bfe889ad1d119cee0c9ffb04c5996517922e

* util-docker,tests,misc: Remove Ubuntu 18.04 support

18.04 is no longer supported. This patch removes specific 18.04 compiler
tests and removes our 18.04 dockerfiles. Images will no longer be
produced for specific 18.04 tasks.

Compiler images for GCC and Clang, which used 18.04 have been updated to
use 20.04.

Change-Id: I6338ab47af3287a25a557dbbeaeebcfccfdec9fc
2023-07-18 10:28:09 -07:00
mbabaie
037e6fe33c misc: update gem5 links
This change updates all of the gerrit links to use github.

Change-Id: I2a020dafac0bd2ba99b26c6a9cd4f0c585e253f8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71719
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
2023-07-10 22:57:28 +00:00
Bobby R. Bruce
8dfaec0e10 util-docker: Update systemc docker image to use 22.04
Updates the Dockerfile, and therefore the Docker image, to use Ubuntu
22.04 instead of Ubuntu 20.04.

Change-Id: I0969205159d47ece9b0b6c0452ce0f3420f32e4c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69317
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
2023-03-28 01:21:52 +00:00
Bobby R. Bruce
bbeec2d758 misc: Update version info for develop branch
Change-Id: Icd409acda0e88852938b2af9f170e2a410e91f8c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67053
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2023-01-03 22:08:08 +00:00
Bobby R. Bruce
ed6d80c273 util-docker: Add v22-1 tag to docker-compose.yaml
Change-Id: I91088efe4e0bcee9b9f83d5208a14932821a17c4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/65917
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-12-05 20:25:53 +00:00
Bobby R. Bruce
3df8be981b util-docker: Update gcn-gpu Docker to use v22-1 ROCM patch
Change-Id: I21b530babe095861eb80fdfefd12d8e127ffa3c2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/65916
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-12-05 20:25:53 +00:00
Bobby R. Bruce
07f4dd19ad util-docker: Create ALL/gem5.fast docker image with min-deps
This docker image contains ALL/gem5.fast compiled using the 22.04
min-dependencies image.

This image is available at gcr.io/gem5-test/gem5-all-min-dependencies:

```
docker pull gcr.io/gem5-test/gem5-all-min-dependencies
```

Change-Id: I0af4a629e7082df1d76a8459ebfc4fb0a91e2855
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64431
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
2022-10-14 22:31:50 +00:00
Bobby R. Bruce
0ac27fd0bc util-docker,tests: Update supported/test OS to Ubuntu 22.04
We add a Ubuntu 22.04 min- and all-dependency docker images. We also
update the compiler tests to compile with Ubuntu 22.04.

The Ubuntu 20.04 min-dependency image has been removed. It is no
longer required.

Change-Id: Iaf7f7e8598907beb16e154c971f327927f707cb9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64177
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
2022-10-10 17:24:03 +00:00
Bobby R. Bruce
555ed60eaa util-docker,tests: Add Clang-14 compiler image and test
This increases gem5's supported compiler up to Clang Version 14.

Change-Id: Ia85e81f33367b7186dd54fc2aeb3541111ccdb57
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64176
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-10-10 17:24:03 +00:00
Bobby R. Bruce
57a5bebe80 util-docker,tests: Add Clang-13 compiler image and test
This increases gem5's supported compiler up to Clang Version 13.

Change-Id: I5a9b602b67626b195dcd8e297abbcfb70cf83cbe
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64175
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-10-10 17:24:03 +00:00
Bobby R. Bruce
be64af890a util-docker,tests: Add GCC-12 compiler image and test
This increases gem5's supported compiler up to GCC Version 12

Change-Id: Ifed5b8456bd1ab36a2fa58d8be7911acbef29bdd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64174
Reviewed-by: Kunal Pai <kunpai@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
2022-10-10 17:24:03 +00:00
Bobby R. Bruce
8c34a8bf92 util-docker: Add 'ubuntu-22.04_gcc-version'
Now that ubuntu 22.04 has been released we can use it to test newer GCC
compilers. GCC-11 has been moved to use this image.

Change-Id: I3b0dbd82112068f19682e5cf19ffbe81f3d18149
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/64173
Reviewed-by: Kunal Pai <kunpai@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2022-10-10 17:24:03 +00:00
Bobby R. Bruce
2bc5a8b71a misc: Run pre-commit run on all files in repo
The following command was run:

```
pre-commit run --all-files
```

This ensures all the files in the repository are formatted to pass our
checks.

Change-Id: Ia2fe3529a50ad925d1076a612d60a4280adc40de
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/62572
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
2022-08-24 21:47:07 +00:00
Andreas Sandberg
c7405f621b util-docker: Add Python pre-commit to Dockerfiles
Pre-commit will be used for CI to automatically run Python formatting
using Black.

Change-Id: Idc35b4586f549d312dc173dd805136ec01847f6e
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/61112
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
2022-07-13 10:49:31 +00:00