Commit Graph

1020 Commits

Author SHA1 Message Date
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
Lukas Zenick
96fbc2068a util, ext: Fix building TLM (#1105)
Fixed the issue that did not allow building TLM.

Build commands:
```bash
scons build/ARM/gem5.opt
scons setconfig build/ARM USE_SYSTEMC=n
scons --with-cxx-config --without-python --without-tcmalloc build/ARM/libgem5_opt.so
cd util/tlm
scons
```
Following this README, I tested it successfully with the simple examples:
https://gem5.googlesource.com/public/gem5/+/master/util/tlm/README

GitHub Issue: #591 
Change-Id: If07fae2eb20ad62627e733573f61bc42d594f970

---------

Co-authored-by: Ivana Mitrovic <ivanamit91@gmail.com>
2024-05-24 13:29:58 -07:00
Ivana Mitrovic
1a68d71f07 util: Update gem5-resource-manager requirements (#1154)
Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.0.

Change-Id: I34df01fdd32cb300c4efc8cf072c0aa1137371bc
2024-05-22 07:32:52 -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
Hossam ElAtali
97a87a7c84 util: Fixed gem5img.py script (#990)
Made the script more robust to different names.

Co-authored-by: Hossam ElAtali <hossam.elatali@uwaterloo.ca>
2024-05-16 10:09:27 -07:00
Harshil Patel
65976e4c6d util: Add GNU non executable line to x86 m5 (#1116)
- Adding this line as not specifiying GNU non executable stack was
throwing warnings when building m5
for ubuntu 24.04

Change-Id: I620c508be4090804698391cff671ba5091b053d7
2024-05-14 11:06:13 -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
Ivana Mitrovic
bc0f388316 util: Update gem5-resource-manager requirements (#1115)
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.

Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.8 to
3.0.3.

Change-Id: I88e97c3c546c8dcfaa8c310a537def850177f0b9
2024-05-07 17:33:51 -07:00
Matthew Poremba
c495ff84ec util: Make x86-add-xcr0 work for testlib checkpoints
Change-Id: I7b93d7afc7710bd43412a77a204ce8838d0bfb4e
2024-04-29 11:45:55 -07:00
Matthew Poremba
a6f2c8afdb arch-x86: Add XCR0 register and add to X86KvmCPU
The extended control registers were not being updated in the KVM thread
context nor updated in the KVM state. This was causing issues when
checkpointing since the XCR0 value was reverting to the default value
rather than what it was previously before the checkpoint. THis was
causing multiple applications to crash due to executing instructions
which are now illegal instructions due to XCR0 being incorrect.

This commit adds the XCR0 as a misc register similar to the exiting x86
control registers and adds all of the helper functions to access and set
the register value. It also adds support for updating the KVM CPU's
state with the register value and updating the thread context's misc reg
value so that it is checkpointed along with the other misc regs.

Note that this does *not* add support for XSAVE of the AVX state (i.e.,
the upper 128 bits of YMM registers). It does however fix the immediate
problem in issue #958 .

A checkpoint upgrader is also provided to add the default value of XCR0
if the checkpoint tag is missing.

Change-Id: I97456c8b57cbc7b381bd4be94944ce6567a43c76
2024-04-25 11:24:53 -07:00
Bobby R. Bruce
40fdf368d8 util: Enable m5term Apple Mac OS Compilation (#1046)
The "linux/limits.h" equivalent on Apple systems is "sys/syslimits.h".
By adding an include guard to include the correct header dependent on
the host system, we can compile m5term on Mac OS systems.
2024-04-22 11:31:16 -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
56a2346b8d tests,util-docker,github: Add Ubuntu 24.04 Docker image & updated tests/actions to use it (#1018)
This ensures gem5 compiles and runs in 24.04 environments. A necessary
PR, for ensuring gem5 support Ubuntu 24.04 (related issue: #909)
2024-04-15 13:34:22 -07:00
Bobby R. Bruce
a7330ac4fb misc: bump dnspython in /util/gem5-resource-manager (#1027)
Bumps [dnspython](https://github.com/rthalley/dnspython) from 2.3.0 to
2.6.1.
- [Release notes](https://github.com/rthalley/dnspython/releases)
-
[Changelog](https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst)
-
[Commits](https://github.com/rthalley/dnspython/compare/v2.3.0...v2.6.1)

Change-Id: Iaa0ed0fa68220fd8b52eb62c0089831b253e17d0

---
updated-dependencies:
- dependency-name: dnspython dependency-type: direct:production ...

Change-Id: I6e3ed8287f5fd60e7bd1c0a3e565db94ef8627a9

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 08:41:14 -07:00
Ivana Mitrovic
dbb71948ce util: Update resource manager dependencies (#1015)
This PR combines the changes from these dependabot PRs: #1008 and #1012.
2024-04-15 08:35:47 -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
Hoa Nguyen
136c0eff3b util-m5: Add a warning when m5op_addr is 0x0
This address, 0x0, is most likely a wrong address to call m5 ops.
The warning will catch the problem where m5op_addr is not initialized
properly.

Change-Id: I442b4806191ae6f5c137bc947f2a269684c599dd
Signed-off-by: Hoa Nguyen <hn@hnpl.org>
2024-03-30 02:15:24 +00:00
Hoa Nguyen
294dd6dd01 util-m5: Add default M5OP_ADDR to arm64
As pointed out here [1], the expected M5OP_ADDR for arm64 arch
is 0x10010000. This change reflects that.

[1] https://github.com/gem5/gem5/pull/725

Change-Id: I7e72f5ea20d4aacf3115a485ba7cd664d33d037e
Signed-off-by: Hoa Nguyen <hn@hnpl.org>
2024-03-28 21:05:58 +00:00
dependabot[bot]
6f90feca56 build(deps): bump cryptography from 42.0.0 to 42.0.4 in /util/gem5-resources-manager (#929)
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.0
to 42.0.4.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 20:50:29 -07:00
dependabot[bot]
f70dc88c8a build(deps): bump cryptography from 39.0.2 to 42.0.0 in /util/gem5-resources-manager (#853)
Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.2
to 42.0.0.

Co-authored-by: Harshil Patel <hpppatel@ucdavis.edu>
2024-03-07 08:14:14 -08:00
Giacomo Travaglini
5bce5673b0 util: Fix recent cpt_upgraders not checking for ISA
A set of cpt_upgraders was patching old checkpoints regardless
of the ISA in use. Thanks to the previous patch, we can now
retrieve the ISA of the CPU from the isa section.

Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Change-Id: Ia110068c06453796cefac028ee13f21667e5371a
Reviewed-by: Richard Cooper <richard.cooper@arm.com>
2024-03-04 17:51:40 +00:00
Richard Cooper
4e12f2486b util: update list_changes.py to support multiple Change-Ids (#861)
The original version of `list_changes.py` assumed no more than one
`Change-Id` tag per commit. However, since transitioning to GitHub, the
repository now contains some merge commits containing multiple
`Change-Id`s.

This patch updates `list_changes.py` to support commits with any number
of `Change-Id` tags.
2024-02-27 11:10:31 -08:00
Harshil Patel
920497c19f tests: Add compiler test for gcc 13 (#858)
Change-Id: I41bdf3ab7ffff21c4148ef17fc5229b5597ec953
2024-02-26 18:03:14 -05:00
Bobby R. Bruce
b2d13ee63a util: Remove action runner add-apt-repo git-core/ppa (#856)
We were having some difficulty on a server running this
`apt-apt-repository` command due to suspected firewall issues. On
further inspection is appear to be superfluous as git can be obtained
easily through `apt-get` without adding this repository.
2024-02-08 12:13:12 -08: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
Bobby R. Bruce
c0100b18cc util: add scripts that help maintain mongoDB (#653) 2024-01-29 10:42:08 -08:00
Ivana Mitrovic
24e0d71034 arch-gcn3: Remove gcn3 (#781)
Related to issue #703 , this PR removes GCN3 related files and updates
source code, documentation, and tests to switch over to Vega is that was
not done already. Highlights are:

 - Remove all src/arch/amdgpu/gcn3 files and update Kconfigs.
 - Remove references to GCN3 and replace with Vega where applicable.
- Update the build targets in the gcn-gpu Docker. This will need to be
rebuilt but not urgently.
- Remove the GCN3 tag in testlib. Most tests seem to be using Vega
already, so that commit is small.
2024-01-25 10:14:46 -08:00
Harshil Patel
fea4106414 util: updated resource manager dependencies (#737)
Change-Id: Ia07eed6c2f2e55f1a2cb8da30e75f0b3a2fb3bc3

Co-authored-by: Bobby R. Bruce <bbruce@ucdavis.edu>
2024-01-23 11:09:15 -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
Harshil Patel
77d6442c1a util: Addressed requested changes
Change-Id: I202bb591960b76f74c3fbb95867905b968c3517d
2024-01-10 21:59:21 -08:00
Bobby R. Bruce
b90cc7f3bc misc: Merge branch stable into release-staging-v23-1
Change-Id: I3903331ec4c9d7ba83656bbf579ac3c1cac8518f
2023-12-27 12:39:52 -08:00
Harshil Patel
d76a01973a util: Added script to copy resources from mongodb (#510)
- This script copies all resources from a mongodb database locally The
script creates a resources.json and downloads all the resources. It also
updates the resources.json to point to these local downloads instead of
the cloud bucket.

Change-Id: I15480c4ba82bbf245425205c9c1ab7c0f3501cc3
2023-12-18 17:28:19 -08:00
Harshil Patel
3f2a72641b util: add scripts that help maintain mongoDB
Change-Id: Ie421176782070462bb2a57351a04ba6ae004a9d4
2023-12-11 15:20:37 -08:00
Bobby R. Bruce
bfd25f5352 util-docker: Enforce cmake version >=3.24 for DRAMSys (#627)
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.

Then ext/dramsys README file has been updated to state this requirement.
2023-11-30 21:23:53 -08:00
Bobby R. Bruce
d11c40dcac misc: Run pre-commit run --all-files
This ensures `isort` is applied to all files in the repo.

Change-Id: Ib7ced1c924ef1639542bf0d1a01c5737f6ba43e9
2023-11-29 22:06:41 -08: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
412cf3e644 util: Update the gem5_within_systemc README
Change-Id: Ife34fe5ccd00fa2c6a83f34af49333d49017dfed
2023-11-23 08:46:27 +08:00
Roger Chang
23e4525e29 util: Update the tlm README
Change-Id: I4006257bf55d7065136347788783796fd39ab725
2023-11-23 08:41:37 +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