Commit Graph

22123 Commits

Author SHA1 Message Date
Bobby R. Bruce
e85592da14 scons: Fix scons 'readCommand' non-zero exits (#1587)
There appears to have been an assumption here that `Popen` would raise
an exception if the command run returned non-zero. This is not the case.
This commit fixes this by obtaining the return code and throwing an
exception if it is non-zero.

This bug caused some minor issues as Exception handling code to handle
the non-zero case elsewhere in Scons was never executed.
2024-09-23 10:09:23 -07:00
Bobby R. Bruce
41b02c5020 misc: Revert "Revert Dramsys Ubuntu to 22.04 to ..."
This reverts commit 52fbc8ebcf.

This commit used Ubuntu 22.04 instead of the typucal 24.04 as 24.04
has GCC v13 installed by default. GCC v13 (and new compilrs introduce a
'oerloaderdf-virtual' check that is triggered in systemc. Systemc
developers suggest this fix to proceed.
2024-09-23 05:20:30 -07:00
Bobby R. Bruce
0bd2cfaf53 systemc: Disable 'overloaded-virtual' warn for systemc bind funcs
For GCC >=v13 systemc was breaking due to the overloaded virtual
warning check.

Issue: #1121
2024-09-23 05:20:29 -07:00
Bobby R. Bruce
9b83fc8736 misc: Add caching to weekly tests 2024-09-23 05:02:38 -07:00
Bobby R. Bruce
8aa58714c4 misc: Update docker-build.yaml to target default 2024-09-23 02:40:37 -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
Bobby R. Bruce
ba02266260 misc: Fix 'target' field in docker-build.yaml 2024-09-21 08:05:09 -07:00
Bobby R. Bruce
7a5b8d9a9c misc: Fix 'username' field in docker-build.yaml 2024-09-21 08:01:22 -07:00
Bobby R. Bruce
b47dc0d5e6 misc: Fix 'needs' field in docker-build.yaml 2024-09-21 07:41:58 -07:00
Bobby R. Bruce
c01aaf83f7 misc: Add matrix to docker-build.yaml 2024-09-21 07:39:06 -07:00
Bobby R. Bruce
c88f0d0097 misc: docker-build.yaml test 2024-09-21 07:27:42 -07:00
Bobby R. Bruce
50aac87c71 misc: docker-build.yaml fix 2024-09-21 07:17:32 -07:00
Bobby R. Bruce
cae4852606 misc: Fix docker-build.yaml (#1588)
This is an attempt to get the docker build workflow working
2024-09-21 07:08:12 -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
473a37be04 util-docker: Minor docker improvements/fixes (#1586)
1. Added `sudo` to Ubuntu 24.04 all dependency Dockerfile

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.

2. Fix multiplatform builds by removing `BUILDPLATFORM` platform fix.

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.

3.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:55:47 -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
Jason Lowe-Power
fee603fd84 mem-cache: Do not require p.size and p.entry_size in IP template (#1557)
This PR is adjusting the constructor to relax template
requirements. In this way child classes are free to provide
their own way of calculating the number of entries and the
shifting required to extract the set

Why do we need this?
Up to this patch we have been configuring the indexing policy
by setting up the cache/table size (in bytes) and the entry size.
Those parameters make a lot of sense in caching structures
where:

a) We want to configure the caching structure using
the amount of storage (in bytes) provided (e.g. 4kB of Cache)
b) the content of a single entry is addressable therefore
we need the entry size to know how many bits in the indexing
process we need to shift to extract the set

In those cases the number of cache entries is derived from the formula

num_entries = size / entry_size

The adoption of the IndexingPolicy for different kinds
of caching structures (e.g. prefetcher tables) make this
way of configuring the IP a bit quirky.

For some tables directly setting the number of entries is a far more
intuitive way of configuring the IP, instead of allocating the desired
number of entries by working things out with the formula above
2024-09-19 07:48:46 -07:00
Giacomo Travaglini
e564561d41 misc: Remove Serialize-related code in Random (#1567)
The Random ser/des support has been non-existent since 2014.
Removing it will enable the Random class to be unit tested
without having a dependency on the src/sim code.
2024-09-19 14:13:10 +02:00
Arthur perais
85210cf51d misc: Remove unecessary include in random.hh 2024-09-18 13:43:37 +02:00
Giacomo Travaglini
77dff262a1 arch-arm: Fix DC IVAC for Secure EL2 (#1569)
According to the Arm architecture reference manual:

"When the value of HCR_EL2.VM is 1, data cache invalidate instructions
executed at EL1 perform a data cache clean and invalidate"

This behaviour should be exteded to secure mode now that Secure EL2 is
supported

Change-Id: I8b4733e6336a0fd5577f4ef35c0bae5408f91194

Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2024-09-18 11:07:10 +01:00
Bobby R. Bruce
f2f86a3e42 stdlib, python: Add warning message and clarify binary vs metric units (#1479)
This PR changes memory and cache sizes in various parts of the gem5
codebase to use binary units (e.g. KiB) instead of metric units (e.g.
kB). This makes the codebase more consistent, as gem5 automatically
converts memory and cache sizes that are in metric units to binary
units.

This PR also adds a warning message to let users know when an
auto-conversion from base 10 to base 2 units occurs.

There were a few places in configs and in the comments of various files
where I didn't change the metric units, as I couldn't figure out where
the parameters with those units were being used.
2024-09-17 17:32:27 +00:00
Matt Sinclair
6d49130b0b mem-ruby: Fix replacement policy in GPU_VIPER (#1564)
The current GPU_VIPER protocol's TCC cache update the MRU information
twice with calling a_allocateBlock and ut_updateTag which affects the
LIP and RRIP replacement polies. Remove ut_updateTag fixes the LIP and
RRIP replacement polies.

Change-Id: I79ad9392593e00425a7fe8828048465b2c2c2e1f
2024-09-17 12:16:09 -05:00
Bobby R. Bruce
3feeb5724f stdlib: Issue warn if func is a gen for exit_event (#1499)
Addresses Issue #1492
2024-09-17 09:34:24 -07:00
Arthur perais
4de65bbd57 misc: Remove Serialize-related code in Random
The Random ser/des support has been non-existent since 2014.
Removing it will enable the Random class to be unit tested
without having a dependency on the src/sim code.
2024-09-16 11:17:32 +02:00
Jarvis Jia
c1fcc0c54a Merge branch 'update_gpu_tcc' of https://github.com/yuxiaojia/gem5 into update_gpu_tcc
Change-Id: I7f04a5490193d9802351be6cd4e7d6baf3c79cb8
2024-09-14 23:22:51 -05:00
Jarvis Jia
9dfd66aca4 mem-ruby: Fix replacement policy in GPU_VIPER
The current GPU_VIPER protocol's TCC cache update the MRU information
twice with calling a_allocateBlock and ut_updateTag which affectgs the
LIP and RRIP replacement polies. Remove ut_updateTag fixes the LIP and
RRIP replacement polies.

Change-Id: I79ad9392593e00425a7fe8828048465b2c2c2e1f
2024-09-14 23:22:22 -05:00
Jarvis Jia
d8954745cf mem-ruby: Fix replacement policy in GPU_VIPER
The current GPU_VIPER protocol's TCC cache update the MRU information
twice with calling a_allocateBlock and ut_updateTag which affectgs the
LIP and RRIP replacement polies. Remove ut_updateTag fixes the LIP and
RRIP replacement polies.
2024-09-14 20:30:48 -05:00
Erin (Jianghua) Le
5aa7b1ce3e python: Redirect into correct subdirectory when using -re with multisim (#1551)
Previously, when passing the -re option while using multisim, the files
simerr.txt and simout.txt would be redirected into the m5out directory
instead of the correct subdirectory. They would also have a name of the
format
Spawn_gem5PoolWorker-some-integer_(simout|simerr).txt, which doesn't
indicate which simulation the files correspond to.

This commit fixes these issues by redirecting simerr.txt and simout.txt
into the correct subdirectory.

Change-Id: I0a25a9fd8dc672949f5f85fc5ca6452529301a73
2024-09-14 01:17:48 -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
Yu-Cheng Chang
f94cac6f65 arch-riscv: Change the packed data of GdbRegCache to protected (#1552)
Change it to protected to enable access the packed data from derived
RiscvGdbRegCache class

Change-Id: Ib33732642914ad367773c3fa45adaf6dfdeb248d
2024-09-12 09:52:03 -07:00
Giacomo Travaglini
5eec041e2d arch-arm: Use generateTrap for SME/SVE/SIMD/WFE/WFI trapping
This avoids repeating the same switch construct

Change-Id: Ie16c52519b1e1f984284f2f1344a3903a0010d36
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2024-09-12 16:04:03 +01:00
Giacomo Travaglini
a4c9600200 arch-arm: Move generateTrap from MiscRegOp to ArmStaticInst
System(Misc) register accesses are not the only trappable instructions.
We move the exception generation logic (generateTrap) from the
MiscRegOp64 to the base ArmStaticInst

Change-Id: Ie2ba0c39790f50e3e8d504d153025d402283ec95
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2024-09-12 14:29:21 +01:00
aperais
e970acb9d2 cpu-o3: Replace integral constants by named constants in FU pool (#1556)
This replaces hardcoded integral values with more explicit constant
names in the code allocating functional units to instructions.

This commit follows ba5886aee7 which
should have read:

"If an instruction requires a functional unit that is not present in the
model (e.g., because it is not present in the configuration), O3CPU
treats it as a 1-cycle operation.

This commit changes the behavior to make the cpu panic when this
happens. The cpu panics only if the instruction reaches the head of the
ROB, meaning it is ok to have unsupported instructions on the wrong
path.

Thanks to Chandana S. Deshpande (deshpande.s.chandana@gmail.com) for
finding the issue."

Change-Id: I5e0a37e5fb8404cb5496bd2cb0a9a5baeae3b895

Co-authored-by: Arthur perais <arthur.perais@univ-grenoble-alpes.fr>
2024-09-12 14:04:34 +01:00
Giacomo Travaglini
e73c442ad8 mem-cache: Move size/entry_size params away from the template
Change-Id: Iec7a79cd9f2fa60d97f4a430e047e286f50338c8
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2024-09-12 10:10:58 +01:00
Giacomo Travaglini
3bd54db68d mem-cache: Do not require p.size and p.entry_size in IP template
This commit is adjusting the constructor to relax template
requirements. In this way child classes are free to provide
their own way of calculating the number of entries and the
shifting required to extract the set

Why do we need this?
Up to this patch we have been configuring the indexing policy
by setting up the cache/table size (in bytes) and the entry size.
Those parameters make a lot of sense in caching structures
where:

a) We want to configure the caching structure using
the amount of storage (in bytes) provided (e.g. 4kB of Cache)
b) the content of a single entry is addressable therefore
we need the entry size to know how many bits in the indexing
process we need to shift to extract the set

In those cases the number of cache entries is derived from the formula

num_entries = size / entry_size

The adoption of the IndexingPolicy for different kinds
of caching structures (e.g. prefetcher tables) make this
way of configuring the IP a bit quirky.

For some tables directly setting the number of entries is a far more
intuitive way of configuring the IP, instead of allocating the desired
number of entries by working things out with the formula above

Change-Id: Ic7994c129196d6ba83dc99ce397ad43393d35252
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2024-09-12 10:10:58 +01:00
Erin Le
52c2ecd033 python: remove outdated comment in convert.py
Change-Id: I0cdeb709e5ae1a3100662172d96a5f6328be1a3d
2024-09-11 11:57:22 -07:00
Erin Le
39ea74c4ee tests: add test for checking conversion from base 10 to base 2
This commit adds a test that checks that strings representing
base 10 memory sizes or base 10 memory bandwidths are correctly
converted to strings representing base 2 values.

Change-Id: Ie8cac15f06b4ceb1786484fea4e8ba2111f4e8d3
2024-09-11 11:35:17 -07:00
Erin Le
3a8bbc41b8 python: refactor base 10 to 2 error message
This commit refactors the base 10 to base 2 error message such
that it uses the preexisting _split_suffix function instead
of a new function based off of _split_suffix. This commit also
removes the new helper function used previously.

Change-Id: I44d9ac3d8b98bcff33d6bfea7ffbdb5009272ede
2024-09-11 11:28:55 -07:00
aperais
ba5886aee7 cpu-o3: Panic if no FU exists for an instruction needing to issue (#1516)
At present, if an instruction requires a functional unit that is not
present in the O3CPU config, O3CPU treats it as a 1-cycle operation that
does not consume an FU. This seems like a silent failure : if I forgot
to add a FU for a new operation type I added, then I don't want it to
silently work "for free".

The problem is that the code treats the FU allocator returning
`NoCapableFU` for a given DynInst as equivalent to the case where the
DynInst obtained an FU, with default latency of 1. This is because there
is a single if statement that checks whether the FU allocator returned
`NoFreeFU` or not, and `NoCapableFU` happens to be different. The change
is to introduce `NoNeedFU` and to panic if the FU allocator returns
`NoCapableFU`

An improvement would be to use a strongly typed enum rather than integer
constants. Thoughts ?

In addition to unit tests, I have tested this with `main.py run` and get
panics if I remove support for `IntMul` type in `O3CPU.py` in:

```
./SuiteUID-asm-riscv-rv32um-ps-mul-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv32um-ps-mul-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv32um-ps-mulh-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv32um-ps-mulh-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv32um-ps-mulhsu-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv32um-ps-mulhsu-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv32um-ps-mulhu-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv32um-ps-mulhu-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv64um-ps-mul-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv64um-ps-mul-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv64um-ps-mulh-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv64um-ps-mulh-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv64um-ps-mulhsu-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv64um-ps-mulhsu-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv64um-ps-mulhu-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv64um-ps-mulhu-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-asm-riscv-rv64um-ps-mulw-o3-ALL-x86_64-opt/TestUID-asm-riscv-rv64um-ps-mulw-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-BaseCPUProcessor-arm-hello-ALL-x86_64-opt/TestUID-BaseCPUProcessor-arm-hello-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-cpu_test_ArmDerivO3CPU_Bubblesort-ALL-x86_64-opt/TestUID-cpu_test_ArmDerivO3CPU_Bubblesort-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-cpu_test_ArmDerivO3CPU_FloatMM-ALL-x86_64-opt/TestUID-cpu_test_ArmDerivO3CPU_FloatMM-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-cpu_test_RiscvDerivO3CPU_Bubblesort-ALL-x86_64-opt/TestUID-cpu_test_RiscvDerivO3CPU_Bubblesort-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-cpu_test_RiscvDerivO3CPU_FloatMM-ALL-x86_64-opt/TestUID-cpu_test_RiscvDerivO3CPU_FloatMM-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-o3-cpu_1-cores_classic_DualChannelDDR3_1600_arm_boot_test_to-tick-ALL-x86_64-opt/TestUID-o3-cpu_1-cores_classic_DualChannelDDR3_1600_arm_boot_test_to-tick-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-o3-cpu_1-cores_classic_DualChannelDDR3_1600_riscv-boot-test_to-tick-ALL-x86_64-opt/TestUID-o3-cpu_1-cores_classic_DualChannelDDR3_1600_riscv-boot-test_to-tick-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-test-arm-hello32-static-o3-ALL-x86_64-opt/TestUID-test-arm-hello32-static-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-test-arm-hello64-static-o3-ALL-x86_64-opt/TestUID-test-arm-hello64-static-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-test-mips-hello-o3-ALL-x86_64-opt/TestUID-test-mips-hello-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-test-riscv-hello-o3-ALL-x86_64-opt/TestUID-test-riscv-hello-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
./SuiteUID-test-riscv-print-this-o3-ALL-x86_64-opt/TestUID-test-riscv-print-this-o3-ALL-x86_64-opt/simerr.txt:src/cpu/o3/inst_queue.cc:905: panic: Processor cannot execute opclass:2
```

Co-authored-by: Arthur perais <arthur.perais@univ-grenoble-alpes.fr>
2024-09-11 16:43:31 +01:00
Bobby R. Bruce
f327559ca4 tests,stdlib,python: Add tests for base 10 to 2 SI unit check
**Note**: Erin needs to complete the commit by expanding this test to
properly test the behavior of this change.

To run the pyunit tests:

```sh
scons build/ALL/gem5.opt -j`nproc`
./build/ALL/gem5.opt tests/run_pyunit.py
```

Change-Id: I8cea0fe8b088e03e84072a000444953768bc3151
2024-09-10 15:17:53 -07:00
handsomeliu-google
0da65b31c2 python: Ignore *args and **kwargs when generating cxxMethod pybinding script (#1535)
According to the pybind documentation, "When combining *args or **kwargs
with Keyword arguments you should not include py::arg tags for the
py::args and py::kwargs arguments."

In the current implementation of gem5, if you use the cxxMethod
decorator on a function that has *args or **kwargs, gem5 will
incorrectly add these variables to the pybind generated declaration.

I.e., def f(arg1, arg2,  *args, **kwargs): -> .def("f", &f,
py::arg("arg1"), py::arg("arg2"), py::arg("*args"), py::arg("**kwargs"))
which is incorrect pybind code.

To fix this problem, we should ignore variables in the generator if they
are *args or **kwargs. This change skips these variables when creating
the pybind declaration.

Change-Id: I44a1e0eb0b5fc5c1e1d423ba145d456bff92c6b8
2024-09-09 10:23:26 -07:00
Ivana Mitrovic
da6ce1d9c2 ext,tests,misc: Suppress incorrect GCC 12 error in Pybind (#1501)
There is a compiler error with GCC 12 discussed here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115824

This Pybind code triggers the bug and was causing our compiler tests to
fail.

To fix gem5 compilation for gcc 12 these warnings/errors have been
suppressed for this code.
2024-09-09 10:21:54 -07:00
Daniel Carvalho
51863d322f gpu-compute: Reuse RP list in GPU_VIPER (#1530)
It is safer to reuse the dynamic list than manually listing all possible
replacement policies.

---------

Signed-off-by: odanrc <odanrc@yahoo.com.br>
2024-09-09 09:18:01 -07:00
Bobby R. Bruce
5207b3be6d ext,tests,misc: Suppress incorrect GCC 12 error in Pybind
There is a compiler error with GCC 12 discussed here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115824

This Pybind code triggers the bug and was causing our compiler tests to
fail.

To fix gem5 compilation for gcc 12 these warnings/errors have been
suppressed for this code.

This is a copy and paste of:
https://github.com/pybind/pybind11/pull/5355

Change-Id: I9344951ef00d121ea0b609f4faa13dfe09aabb3b
2024-09-08 00:38:02 -07:00
Erin Le
00f927a4e2 mem, python: refactor error message formatting
This commit refactors the error message added to convert.py.
A mapping between the base 10 and base 2 suffix magnitudes
(e.g. k: ki, M: Mi, etc.) and a new function that extracts the
magnitude and numerical value have been added. Also, a warning
message has been added to the toMemoryBandwidth function in
addition to the one in toMemorySize.

Change-Id: I3ae157d13c7089d38a34a6e4c35a2b58978106d0
2024-09-05 18:00:41 -07:00
dependabot[bot]
4d6e968b04 misc: bump tqdm from 4.66.4 to 4.66.5 (#1532)
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.4 to 4.66.5.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 05:54:37 -07:00