1065 Commits

Author SHA1 Message Date
Noah Krim
ad8bd6b5c7 arch-arm,util-m5: Change arm64's default m5 call type to addr (#1583)
As of PR #977, gem5 has a defined M5OPS_ADDR for arm64, even if it is
constrained to certain conditions. With that change and the arm64 board
KVM support (#725), it seems like interaction with the m5 utility under
arm64 will most commonly occur in KVM -- where instruction-mode does not
work -- and thus address-mode becomes more desirable as the default.

This also makes m5's behavior in arm64 consistent with x86, the only
other architecture that supports address-mode operations.
2024-11-07 10:08:10 -08:00
Ivana Mitrovic
cc4f466e1e util: Bumps werkzeug in gem5-resources-manager (#1723)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.3 to
3.0.6.
2024-11-01 10:51:34 -07:00
Bobby R. Bruce
d5d7880840 util-docker: Add qemu-riscv-env Dockerfile (#1731) 2024-10-29 17:19:43 -07:00
Bobby R. Bruce
dde1c7d3a1 util-docker: Add RISCV to Ubuntu all-deps Docker platforms (#1716)
I have re-implemented building this image to target RISC-V in addition
to X86 and ARM. I have found it makes for quite a good cross compilation
tool.
2024-10-26 21:17:40 -07:00
Erin (Jianghua) Le
6195b33960 util-docker,tests: Add compiler tests & Dockerfiles for GCC 14 (#1646)
This commit adds gcc 14 to the compiler tests and Dockerfiles.
2024-10-10 10:17:03 -07:00
pre-commit-ci[bot]
54487d3bf6 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-10-09 14:04:56 +00:00
Bobby R. Bruce
7117b1399b util-docker: Fix gpu dpcker images (#1627)
Two faults:

1. You can't give description the docker-bake file for single platform
builds. They must be in the Dockerfile..
2. The gpu docker image def in docker-bake.hcl was not overriding the
"common" setttings as previously thought. This was causing builds to
something build the wrong platform and vairous other weird bugs. This
has been fixed in this patch.
2024-10-04 02:37:16 -07:00
Erin (Jianghua) Le
c10feed524 tests, configs, util, mem, python, systemc: Change base 10 units to base 2 (#1605)
This commit changes metric units (e.g. kB, MB, and GB) to binary units
(KiB, MiB, GiB) in various files. This PR covers files that were missed
by a previous PR that also made these changes.
2024-10-01 11:18:05 -07:00
Ivana Mitrovic
6bb1c9638c util: Update gem5-resources-manager (#1604)
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.4
to 43.0.1.
2024-09-26 10:09:38 -07:00
Bobby R. Bruce
688268d22d util-docker: Minor housekeeping to Dockerfiles (#1592)
1. Moved description label to docker-bake.hcl. Image descriptions must
be specified here. See:
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#adding-a-description-to-multi-arch-images
2. Moved specifying the 'Dockerfile' to 'common'.
3. Changed it so the gpu-fs and gcn-fpu images only built to
linux/amd64. arm64 doesn't work.
2024-09-23 02:36:09 -07:00
Kaustav Goswami
51b5279671 ext,util-docker: updated SST to v.14.0.0 (#1575)
This change updates SST from v.13.0.0 to v.14.0.0. It also adds an
updated docker file to test the new version.
2024-09-21 06:18:12 -07:00
Bobby R. Bruce
6186fc72a0 util-docker: Add 'sudo' to Ubuntu 24.04_all-deps
Without this an admin user entering a container mirroring host user
permissions can't run `sudo` within the container as it doesn't exist.
They also can't install it as `apt install` requires `sudo`.

As 24.04_all-deps serves as the base images for other images, this
change will be reflected in most other gem5 Docker images.
2024-09-21 04:52:33 -07:00
Bobby R. Bruce
827bca0cdb util-docker: Remove 'latex/riscv64' as Docker build target
It is unlikely anyone will be running these images on a RISC-V system
anytime soon. They are costly in terms of space and also require
RISC-V emulation to build which is very slow. This change has it so our
multi-platform builds just target ARM and X86.
2024-09-21 04:49:28 -07:00
Bobby R. Bruce
8fc2c4c9b4 util-docker: Remove 'BUILDPLATFORM' set
This actually breaks multi-platform builds when using docker buildx via
the docker-bake.hcl file. Removing this fixes and permits the
multi-platform builds to be built.
2024-09-21 04:47:47 -07:00
Bobby R. Bruce
ad481167fa misc: Fix lone header bug (#1563) 2024-09-14 00:11:32 -07:00
Bobby R. Bruce
a1105cf234 misc,github,tests: Remove gerrit change ID requirement (#1486) 2024-09-13 20:22:04 -07:00
Bobby R. Bruce
4126035f88 util-docker: Move LABEL to after image import (#1548)
A Dockerfile must start with the importation of a docker base image. It
is only after this point that `LABEL` be provided. Having `LABEL` at the
top of the Dockerfiles resulted in the Docker images failing to build.
2024-09-13 20:21:35 -07:00
Erin (Jianghua) Le
a5a3810ac9 util-docker: Add labels to Dockerfiles (#1528)
This PR adds labels to Dockerfiles. The labels are the source
(https://github.com/gem5/gem5), a description, and the license.

Change-Id: I47ce432257641b394efef4958f1474eefe2a11c1

Co-authored-by: Harshil Patel <harshilp2107@gmail.com>
2024-09-01 09:52:13 -07:00
Bobby R. Bruce
3429da7787 python,tests,misc: Remove Gerrit-ID insertion from pre-commit
Change-Id: I4db06415c9d0bbba7a6db56d7e9febf6491003bf
2024-08-20 15:40:55 -07:00
Bobby R. Bruce
cad4307951 util-docker: Re-add env variables to SST
Change-Id: I653baeb69f8be1501766b57337f6643e00d7dd60
2024-08-19 10:08:20 -07:00
Bobby R. Bruce
646df63e56 misc: Fix typos in util/dockerfiles/README.md
Change-Id: I5488301543bfff21279b6c0b1aae841574efee95

Co-authored-by: Harshil Patel <harshilp2107@gmail.com>
2024-08-15 10:45:53 -07:00
Bobby R. Bruce
0c26ee5f71 util-docker: Replace gem5 v24.0 clone with wget
This is more efficient.

Change-Id: Idd57343183a8667425dbc036ad0c7c18581898f5
2024-08-14 14:08:44 -07:00
Bobby R. Bruce
dcb04a72fc util-docker,tests: Remove Ubuntu 20.04 Docker
Change-Id: I1d4bbebaa4b6f064b5f40a95d066bbf092cf103f
2024-08-13 16:15:49 -07:00
Bobby R. Bruce
9f93c8ac9c util-docker: Revert docker image tag to 'latest'
Change-Id: Iafe92716725e6b3cecfeba57098c3a7efaf73d97
2024-08-13 16:13:33 -07:00
Bobby R. Bruce
59455daa85 util-docker: Fix correct common platform comment
Change-Id: Ifc703b47b1e59522ba01f4c2b59a4863779eefb1
2024-08-13 16:12:45 -07:00
Bobby R. Bruce
8b61490df1 util-docker: Update dockerfiles README
Change-Id: I39bca04b3770bd51203944d69d0fbecff85055f8
2024-08-13 16:09:08 -07:00
Bobby R. Bruce
b68c2ef37f util-docker: Add vim to 24.04-all-deps Ubuntu Docker
Change-Id: I898a0fddcdcf8a876fcbbe11795e858395ad9740
2024-08-13 16:08:05 -07:00
Bobby R. Bruce
3875dcdfd7 util-docker: Update the sst Dockerfile
1. Builds on top of the Ubuntu 24.04 all-deps image.
2. Unify the download, build, install, and cleanup steps.

Change-Id: I4c2bf8e571dfd228f7df8372cda0f428de59af51
2024-08-13 16:08:05 -07:00
Bobby R. Bruce
2c0c933a3a util-docker: Cleanup the systemc docker
1. Uses the ubuntu-24.04_all-deps as the base image.
2. Unifies the build and cleanup into a single step, thus reducing the
   size of the image.

Change-Id: I63b5dad2af0e8b1f6be8ad1f28321c743f36b2dc
2024-08-13 16:08:05 -07:00
Bobby R. Bruce
58aad68329 util-docker: Order targets in docker-bake
This improves readbility. The targets order matches that in the default
group.

Change-Id: I1102aeb48bc256df9b58032a327ec663e5733a98
2024-08-13 16:08:03 -07:00
Bobby R. Bruce
9978b4ea4c util-docker: Add 'devcontainer' to default bake group
Change-Id: I4b245cabd6e384cab780bd22b0f8b40d9819b92b
2024-08-13 16:07:22 -07:00
Bobby R. Bruce
4956c475f4 util-docker: Set the GPU Docker images to build only to x86
These images won't work and make no sense compiling to any platform
other than X86. These are used in SE mode simulations where the host
platform matters.

Change-Id: I47405e930bf511fabcbc93d0b08ee2fb2c556869
2024-08-13 16:07:22 -07:00
Bobby R. Bruce
c1a562083d util-docker: Set 'pull' to 'always'
This ensures the a `docker pull` command is always run before building.

Change-Id: If1a66b9b426d5843459e0308a64f13a11c0c6ed2
2024-08-13 16:07:21 -07:00
Bobby R. Bruce
9d635dea55 util-docker: Improve Docker gcc and clang builder
1. Uses the all-dependencies image as the base image.
2. Has all compilers use Ubuntu 24.04.

Notes: This change implitly changes our supported compilers to GCC v10
to v13 and Clang v14 to v18. This will be fully incorporated into the
project later.

Change-Id: Id8e2141ea64a34c7e3532605f6ecb7d9ccb76951
2024-08-13 16:07:15 -07:00
Bobby R. Bruce
a1eefb6ed8 util-docker: Remove old/unsed/unecessary Dockerfiles
* Unsupported compilers.
* Unsed cross compilers.
* The gem5-all-min-deps image.

Change-Id: Iaab64e5e6685b0a538c38b2979fae86f01bc53e8
2024-08-13 16:05:47 -07:00
Bobby R. Bruce
e03a20bdb4 util-docker: Remove version from systemc Docker context
This simplifies things slightly.

Change-Id: I1263e385f7adeb2b83cdc09f7f6903be9193c467
2024-08-13 16:05:47 -07:00
Bobby R. Bruce
c291678881 util-docker: Fix docker-bake.hcl sst context
The context for sst is the "sst" directory.

Change-Id: Ic120cca13a9e4df02b98d101ad8e16c296807c2d
2024-08-13 16:05:47 -07:00
Bobby R. Bruce
e82e824f08 util-docker: Breakup long (>79 char) lines in docker-bake
Change-Id: I5488301543bfff21279b6c0b1aae841574efee95
2024-08-13 16:05:46 -07:00
Bobby R. Bruce
8593f69f0a util: Fix MongoDB script requirements.txt (#1426)
Dependency Bot appears to have had difficulty with this file:
https://github.com/gem5/gem5/security/dependabot/29

This PR:

1. Removes the weird "```" which could not be parsed.
2. Ups PyMongo to a more secure version.
2024-08-08 13:01:29 -07:00
Bobby R. Bruce
eabb625870 util-docker,tests: Up clang support: >=v10
The compiler tests are failing to to a compile bug in Clang 7:
https://github.com/gem5/gem5/actions/runs/10170081794

Given Ubuntu 20.04 APT installs v10 by default (i.e., with `apt install
clang`). This is the oldest LTS Ubuntu version. It therefore seems
sensible to drop support for older (<v10) versions of clang.

Change-Id: I4c48223b80306422beac1464c09f03397c156ba1
2024-08-07 00:35:34 -07:00
Bobby R. Bruce
ace61f4022 util-docker: Update devcontainer for bootcamp24
Change-Id: Ia19840a3858f2f39ef9d9bdc60d0ba6b9231948e
2024-08-02 09:21:25 -07:00
Jason Lowe-Power
5961b0ba76 misc: Change devcontainer for isca tutorial
Change-Id: I4e946bf32b5ad362ff34de5d354fe29cd26fc0cb
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
2024-08-02 09:20:53 -07:00
Ivana Mitrovic
ebfb8999cb util: Update gem5-resources-manager (#1343)
Bumps [zipp](https://github.com/jaraco/zipp) from 3.15.0 to 3.19.1.

Bumps [certifi](https://github.com/certifi/python-certifi) from
2023.7.22 to 2024.7.4.

Change-Id: I457b952d86412776d9be9b8bce0b1b2d2550f3a6
2024-07-11 07:19:11 -07:00
Robert Hauser
77528d1928 systemc: Use headerDelay in timing annotation (#1328)
1. Responder (downstream components):

    When sending a BEGIN_REQ, the timing annotation marks the time when
    a transaction is visible to the target (see [1] on page 465).

    When writing the data, the downstream component calculates the
    transfer time and would send END_REQ after this time (see [1] on
    page 540). Therefore, not the payloadDelay, but the headerDelay
    should be used, as already written as a comment in the source files.
    When reading data, payloadDelay will be 0 anyway.

2. Requester (upstream component):

    For data read, the begin of the transfer is marked by BEGIN_RESP
    and the upstream component would delay END_RESP to model the
    data transfer (see [1] on page 540). Therefore, BEGIN_RESP should be
    delayed by the headerDelay, not the payloadDelay.

[1] "IEEE Standard for Standard SystemC® Language Reference Manual," in
IEEE Std 1666-2023 (Revision of IEEE Std 1666-2011), vol., no.,
pp.1-618, 8 Sept. 2023, doi: 10.1109/IEEESTD.2023.10246125.

Change-Id: I3b5e8ad6bc37cbb309b124efdc8764fca3728b7a

Signed-off-by: Robert Hauser <robert.hauser@uni-rostock.de>
2024-07-05 09:05:24 -07:00
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
Ivana Mitrovic
e88f0944e3 util: Bump urllib3 in gem5-resource-manager (#1257)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.7 to 2.2.2.

Change-Id: I218236ff9ebe99839e417b67e740e6f98c0ee473
2024-06-18 11:05:13 -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
shinezyy
7d339ee79b util: allow to override ARCH in cxx config's Makefile (#1165)
allow to override ARCH in cxx config's Makefile

gem5 issue: #1164
2024-05-29 07:55:48 -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