diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 881285f695..931be695ba 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,3 +1,136 @@ +# Version 22.1.0.0 + +This release has 500 contributions from 48 unique contributors and marks our second major release of 2022. +This release incorporates several new features, improvements, and bug fixes for the computer architecture reserach community. + +See below for more details! + +## New features and improvements + +- The gem5 binary can now be compiled to include multiple ISA targets. +A compilation of gem5 which includes all gem5 ISAs can be created using: `scons build/ALL/gem5.opt`. +This will use the Ruby `MESI_Two_Level` cache coherence protocol by default, to use other protocols: `scons build/ALL/gem5.opt PROTOCOL=`. +The classic cache system may continue to be used regardless as to which Ruby cache coherence protocol is compiled. +- The `m5` Python module now includes functions to set exit events are particular simululation ticks: + - *setMaxTick(tick)* : Used to to specify the maximum simulation tick. + - *getMaxTick()* : Used to obtain the maximum simulation tick value. + - *getTicksUntilMax()*: Used to get the number of ticks remaining until the maximum tick is reached. + - *scheduleTickExitFromCurrent(tick)* : Used to schedule an exit exit event a specified number of ticks in the future. + - *scheduleTickExitAbsolute(tick)* : Used to schedule an exit event as a specified tick. +- We now include the `RiscvMatched` board as part of the gem5 stdlib. +This board is modeled after the [HiFive Unmatched board](https://www.sifive.com/boards/hifive-unmatched) and may be used to emulate its behavior. +See "configs/example/gem5_library/riscv-matched-fs.py" and "configs/example/gem5_library/riscv-matched-hello.py" for examples using this board. +- An API for [SimPoints](https://doi.org/10.1145/885651.781076) has been added. +SimPoints can substantially improve gem5 Simulation time by only simulating representative parts of a simulation then extrapolating statistical data accordingly. +Examples of using SimPoints with gem5 can be found in "configs/example/gem5_library/checkpoints/simpoints-se-checkpoint.py" and "configs/example/gem5_library/checkpoints/simpoints-se-restore.py". +- "Workloads" have been introduced to gem5. +Workloads have been incorporated into the gem5 Standard library. +They can be used specify the software to be run on a simulated system that come complete with input parameters and any other dependencies necessary to run a simuation on the target hardware. +At the level of the gem5 configuration script a user may specify a workload via a board's `set_workload` function. +For example, `set_workload(Workload("x86-ubuntu-18.04-boot"))` sets the board to use the "x86-ubuntu-18.04-boot" workload. +This workload specifies a boot consisting of the Linux 5.4.49 kernel then booting an Ubunutu 18.04 disk image, to exit upon booting. +Workloads are agnostic to underlying gem5 design and, via the gem5-resources infrastructure, will automatically retrieve all necessary kernels, disk-images, etc., necessary to execute. +Examples of using gem5 Workloads can be found in "configs/example/gem5_library/x86-ubuntu-ruby.py" and "configs/example/gem5_library/riscv-ubuntu-run.py". +- To aid gem5 developers, we have incorporated [pre-commit](https://pre-commit.com) checks into gem5. +These checks automatically enforce the gem5 style guide on Python files and a subset of other requirements (such as line length) on altered code prior to a `git commit`. +Users may install pre-commit by running `./util/pre-commit-install.sh`. +Passing these checks is a requirement to submit code to gem5 so installation is strongly advised. +- A multiprocessing module has been added. +This allows for multiple simulations to be run from a single gem5 execution via a single gem5 configuration script. +Example of usage found [in this commit message](https://gem5-review.googlesource.com/c/public/gem5/+/63432). +**Note: This feature is still in development. +While functional, it'll be subject to subtantial changes in future releases of gem5**. +- The stdlib's `ArmBoard` now supports Ruby caches. +- Due to numerious fixes and improvements, Ubuntu 22.04 can be booted as a gem5 workload, both in FS and SE mode. +- Substantial improvements have been made to gem5's GDB capabilities. +- The `HBM2Stack` has been added to the gem5 stdlib as a memory component. +- The `MinorCPU` has been fully incorporated into the gem5 Standard Library. +- We now allow for full-system simulation of GPU applications. +The introduction of GPU FS mode allows for the same use-cases as SE mode but reduces the requirement of specific host environments or usage of a Docker container. +The GPU FS mode also has improved simulated speed by functionally simulating memory copies, and provides an easier update path for gem5 developers. +An X86 host and KVM are required to run GPU FS mode. + +## API (user facing) changes + +- The default CPU Vendor String has been updated to `HygonGenuine`. +This is due to newer versions of GLIBC being more strict about checking current system's supported features. +The previous value, `M5 Simulator`, is not recognized as a valid vendor string and therefore GLIBC returns an error. +- [The stdlib's `_connect_things` funciton call has been moved from the `AbstractBoard`'s constructor to be run as board pre-instantiation process](https://gem5-review.googlesource.com/c/public/gem5/+/65051). +This is to overcome instances where stdlib components (memory, processor, and cache hierarhcy) require Board information known only after its construction. +**This change breaks cases where a user utilizes the stdlib `AbstractBoard` but does not use the stdlib `Simulator` module. This can be fixed by adding the `_pre_instantiate` function before `m5.instantiate`**. +An exception has been added which explains this fix, if this error occurs. +- The setting of checkpoints has been moved from the stdlib's "set_workload" functions to the `Simulator` module. +Setting of checkpoints via the stdlib's "set_workload" functions is now deprecated and will be removed in future releases of gem5. +- The gem5 namespace `Trace` has been renamed `trace` to conform to the gem5 style guide. +- Due to the allowing of multiple ISAs per gem5 build, the `TARGET_ISA` variable has been replaced with `USE_$(ISA)` variables. +For example, if a build contains both the X86 and ARM ISAs the `USE_X86` and `USE_ARM` variables will be set. + +## Big Fixes + +- Several compounding bugs were causing bugs with floating point operations within gem5 simulations. +These have been fixed. +- Certain emulated syscalls were behaving incorrectly when using RISC-V due to incorrect `open(2)` flag values. +These values have been fixed. +- The GIVv3 List register mapping has been fixed. +- Access permissions for GICv3 cpu registers have been fixed. +- In previous releases of gem5 the `sim_quantum` value was set for all cores when using the Standard Library. +This caused issues when setting exit events at a particular tick as it resulted in the exit being off by `sim_quantum`. +As such, the `sim_quantum` value is only when using KVM cores. +- PCI ranges in `VExpress_GEM5_Foundation` fixed. +- The `SwitchableProcessor` processor has been fixed to allow switching to a KVM core. +Previously the `SwitchableProcessor` only allowed a user to switch from a KVM core to a non-KVM core. +- The Standard Library has been fixed to permit multicore simulations in SE mode. +- [A bug was fixed in the rcr X86 instruction](https://gem5.atlassian.net/browse/GEM5-1265). + +## Build related changes + +- gem5 can now be compiled with Scons 4 build system. +- gem5 can now be compiled with Clang version 14 (minimum Clang version 6). +- gem5 can now be compiled with GCC Version 12 (minimum GCC version 7). + + +## Other minor updates + +- The gem5 stdlib examples in "configs/example/gem5_library" have been updated to, where appropriate, use the stdlib's Simulator module. +These example configurations can be used for reference as to how `Simulator` module may be utilized in gem5. +- Granulated SGPR computation has been added for gfx9 gpu-compute. +- The stdlib statistics have been improved: + - A `get_simstats` function has been added to access statistics from the `Simulator` module. + - Statistics can be printed: `print(simstats.board.core.some_integer)`. +- GDB ports are now specified for each workload, as opposed to per-simulation run. +- The `m5` utility has been expanded to include "workbegin" and "workend" annotations. +This can be added with `m5 workbegin` and `m5 workend`. +- A `PrivateL1SharedL2CacheHierarchy` has been added to the Standard Library. +- A `GEM5_USE_PROXY` environment variable has been added. +This allows users to specify a socks5 proxy server to use when obtaining gem5 resources and the resources.json file. +It uses the format `:`. +- The fastmodel support has been improved to function with Linux Kernel 5.x. +- The `set_se_binary_workload` function now allows for the passing of input parameters to a binary workload. +- A functional CHI cache hierarchy has been added to the gem5 Standard Library: "src/python/gem5/components/cachehierarchies/chi/private_l1_cache_hierarchy.py". +- The RISC-V K extension has been added. +It includes the following instructions: + - Zbkx: xperm8, xperm4 + - Zknd: aes64ds, aes64dsm, aes64im, aes64ks1i, aes64ks2 + - Zkne: aes64es, aes64esm, aes64ks1i, aes64ks2 + - Zknh: sha256sig0, sha256sig1, sha256sum0, sha256sum1, sha512sig0, sha512sig1, sha512sum0, sha512sum1 + - Zksed: sm4ed, sm4ks + - Zksh: sm3p0, sm3p1 + +# Version 22.0.0.2 + +**[HOTFIX]** This hotfix contains a set of critical fixes to be applied to gem5 v22.0. +This hotfix: + +- Fixes the ARM booting of Linux kernels making use of FEAT_PAuth. +- Removes incorrect `requires` functions in AbstractProcessor and AbstractGeneratorCore. +These `requires` were causing errors when running generators with any ISA other than NULL. +- Fixes the standard library's `set_se_binary_workload` function to exit on Exit Events (work items) by default. +- Connects a previously unconnected PCI port in the example SST RISC-V config to the membus. +- Updates the SST-gem5 README with the correct download links. +- Adds a `getAddrRanges` function to the `HBMCtrl`. +This ensures the XBar connected to the controller can see the address ranges covered by both pseudo channels. +- Fixes test_download_resources.py so the correct parameter is passed to the download test script. + # Version 22.0.0.1 **[HOTFIX]** Fixes relative import in "src/python/gem5/components/processors/simple_core.py". diff --git a/SConstruct b/SConstruct index bd26e4552e..e8107ea2c7 100755 --- a/SConstruct +++ b/SConstruct @@ -420,14 +420,6 @@ for variant_path in variant_paths: conf.CheckLinkFlag('-Wl,--threads') conf.CheckLinkFlag( '-Wl,--thread-count=%d' % GetOption('num_jobs')) - - # Treat warnings as errors but white list some warnings that we - # want to allow (e.g., deprecation warnings). - env.Append(CCFLAGS=['-Werror', - '-Wno-error=deprecated-declarations', - '-Wno-error=deprecated', - ]) - else: error('\n'.join(( "Don't know what compiler options to use for your compiler.", diff --git a/ext/sst/README.md b/ext/sst/README.md index d9bbe85e1b..49f56349bb 100644 --- a/ext/sst/README.md +++ b/ext/sst/README.md @@ -62,7 +62,7 @@ See `INSTALL.md`. Downloading the built bootloader containing a Linux Kernel and a workload, ```sh -wget http://dist.gem5.org/dist/v22-0/misc/riscv/bbl-busybox-boot-exit +wget http://dist.gem5.org/dist/v22-1/misc/riscv/bbl-busybox-boot-exit ``` Running the simulation @@ -87,7 +87,7 @@ extract them under the $M5_PATH directory (make sure M5_PATH points to a valid directory): ```sh -wget http://dist.gem5.org/dist/v22-0/arm/aarch-sst-20211207.tar.bz2 +wget http://dist.gem5.org/dist/v22-1/arm/aarch-sst-20211207.tar.bz2 tar -xf aarch-sst-20211207.tar.bz2 # copying bootloaders diff --git a/ext/testlib/configuration.py b/ext/testlib/configuration.py index fd47e3b33a..97c637687d 100644 --- a/ext/testlib/configuration.py +++ b/ext/testlib/configuration.py @@ -213,7 +213,7 @@ def define_defaults(defaults): os.pardir, os.pardir)) defaults.result_path = os.path.join(os.getcwd(), 'testing-results') - defaults.resource_url = 'http://dist.gem5.org/dist/develop' + defaults.resource_url = 'http://dist.gem5.org/dist/v22-1' defaults.resource_path = os.path.abspath(os.path.join(defaults.base_dir, 'tests', 'gem5', diff --git a/src/Doxyfile b/src/Doxyfile index 15899099b8..4d14b7ccb7 100644 --- a/src/Doxyfile +++ b/src/Doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = gem5 # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = DEVELOP-FOR-22.1 +PROJECT_NUMBER = v22.1.0.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/src/base/version.cc b/src/base/version.cc index c5552446af..050aea091f 100644 --- a/src/base/version.cc +++ b/src/base/version.cc @@ -32,6 +32,6 @@ namespace gem5 /** * @ingroup api_base_utils */ -const char *gem5Version = "[DEVELOP-FOR-22.1]"; +const char *gem5Version = "22.1.0.0"; } // namespace gem5 diff --git a/src/python/gem5/resources/downloader.py b/src/python/gem5/resources/downloader.py index 1fda8d86b6..f619b9771d 100644 --- a/src/python/gem5/resources/downloader.py +++ b/src/python/gem5/resources/downloader.py @@ -55,7 +55,7 @@ def _resources_json_version_required() -> str: """ Specifies the version of resources.json to obtain. """ - return "develop" + return "22.1" def _get_resources_json_uri() -> str: diff --git a/tests/compiler-tests.sh b/tests/compiler-tests.sh index f5d4bb189f..044ceb2adc 100755 --- a/tests/compiler-tests.sh +++ b/tests/compiler-tests.sh @@ -114,7 +114,7 @@ for compiler in ${images[@]}; do # targets for this test build_indices=(${build_permutation[@]:0:$builds_count}) - repo_name="${base_url}/${compiler}:latest" + repo_name="${base_url}/${compiler}:v22-1" # Grab compiler image docker pull $repo_name >/dev/null diff --git a/tests/jenkins/presubmit.sh b/tests/jenkins/presubmit.sh index 91eb95f81b..36da3facd1 100755 --- a/tests/jenkins/presubmit.sh +++ b/tests/jenkins/presubmit.sh @@ -37,8 +37,8 @@ set -e -DOCKER_IMAGE_ALL_DEP=gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest -DOCKER_IMAGE_CLANG_COMPILE=gcr.io/gem5-test/clang-version-14:latest +DOCKER_IMAGE_ALL_DEP=gcr.io/gem5-test/ubuntu-22.04_all-dependencies:v22-1 +DOCKER_IMAGE_CLANG_COMPILE=gcr.io/gem5-test/clang-version-14:v22-1 PRESUBMIT_STAGE2=tests/jenkins/presubmit-stage2.sh GEM5ART_TESTS=tests/jenkins/gem5art-tests.sh diff --git a/tests/nightly.sh b/tests/nightly.sh index ec15f91a78..bf05154fe7 100755 --- a/tests/nightly.sh +++ b/tests/nightly.sh @@ -35,6 +35,10 @@ gem5_root="${dir}/.." # The per-container Docker memory limit. docker_mem_limit="18g" +# The docker tag to use (varies between develop, and versions on the staging +# branch) +tag="v22-1" + # The first argument is the number of threads to be used for compilation. If no # argument is given we default to one. compile_threads=1 @@ -66,13 +70,13 @@ unit_test () { docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" --rm \ - gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest \ + gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \ scons build/ALL/unittests.${build} -j${compile_threads} \ --ignore-style } # Ensure we have the latest docker images. -docker pull gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest +docker pull gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} # Run the unit tests. unit_test opt @@ -81,7 +85,7 @@ unit_test debug # Run the gem5 long tests. docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}"/tests --memory="${docker_mem_limit}" --rm \ - gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest \ + gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \ ./main.py run --length long -j${compile_threads} -t${run_threads} -vv # Unfortunately, due docker being unable run KVM, we do so separately. @@ -101,10 +105,10 @@ cd "${gem5_root}/tests" cd "${gem5_root}" # For the GPU tests we compile and run the GPU ISA inside a gcn-gpu container. -docker pull gcr.io/gem5-test/gcn-gpu:latest +docker pull gcr.io/gem5-test/gcn-gpu:${tag} docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/gcn-gpu:latest bash -c \ + gcr.io/gem5-test/gcn-gpu:${tag} bash -c \ "scons build/${gpu_isa}/gem5.opt -j${compile_threads} --ignore-style \ || (rm -rf build && scons build/${gpu_isa}/gem5.opt \ -j${compile_threads} --ignore-style)" @@ -119,7 +123,7 @@ mkdir -p tests/testing-results # basic GPU functionality is working. docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/gcn-gpu:latest build/${gpu_isa}/gem5.opt \ + gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \ configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c square # get HeteroSync @@ -131,7 +135,7 @@ wget -qN http://dist.gem5.org/dist/develop/test-progs/heterosync/gcn3/allSyncPri # atomics are tested. docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/gcn-gpu:latest build/${gpu_isa}/gem5.opt \ + gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \ configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c \ allSyncPrims-1kernel --options="sleepMutex 10 16 4" @@ -142,7 +146,7 @@ docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ # atomics are tested. docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/gcn-gpu:latest build/${gpu_isa}/gem5.opt \ + gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \ configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c \ allSyncPrims-1kernel --options="lfTreeBarrUniq 10 16 4" @@ -153,7 +157,7 @@ build_and_run_SST () { docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --rm --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/sst-env:latest bash -c "\ + gcr.io/gem5-test/sst-env:${tag} bash -c "\ scons build/${isa}/libgem5_${variant}.so -j${compile_threads} \ --without-tcmalloc --ignore-style; \ cd ext/sst; \ @@ -168,7 +172,7 @@ build_and_run_systemc () { rm -rf "${gem5_root}/build/ARM" docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" --rm \ - gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest bash -c "\ + gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} bash -c "\ scons -j${compile_threads} --ignore-style build/ARM/gem5.opt; \ scons --with-cxx-config --without-python --without-tcmalloc USE_SYSTEMC=0 \ -j${compile_threads} build/ARM/libgem5_opt.so \ @@ -176,7 +180,7 @@ scons --with-cxx-config --without-python --without-tcmalloc USE_SYSTEMC=0 \ docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" --rm \ - gcr.io/gem5-test/systemc-env:latest bash -c "\ + gcr.io/gem5-test/systemc-env:${tag} bash -c "\ cd util/systemc/gem5_within_systemc; \ make -j${compile_threads}; \ ../../../build/ARM/gem5.opt ../../../configs/example/se.py -c \ diff --git a/tests/weekly.sh b/tests/weekly.sh index 3d8af297e5..9b400b9a83 100755 --- a/tests/weekly.sh +++ b/tests/weekly.sh @@ -35,6 +35,10 @@ gem5_root="${dir}/.." # The per-container Docker memory limit. docker_mem_limit="24g" +# The docker tag to use (varies between develop, and versions on the staging +# branch) +tag="v22-1" + # We assume the first two arguments are the number of threads followed by the # GPU ISA to test. These default to 1 and GCN3_X86 is no argument is given. threads=1 @@ -59,7 +63,7 @@ fi # Run the gem5 very-long tests. docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}"/tests --memory="${docker_mem_limit}" --rm \ - gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest \ + gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \ ./main.py run --length very-long -j${threads} -t${threads} -vv mkdir -p tests/testing-results @@ -68,7 +72,7 @@ mkdir -p tests/testing-results # before pulling gem5 resources, make sure it doesn't exist already docker run --rm --volume "${gem5_root}":"${gem5_root}" -w \ "${gem5_root}" --memory="${docker_mem_limit}" \ - gcr.io/gem5-test/gcn-gpu:latest bash -c \ + gcr.io/gem5-test/gcn-gpu:${tag} bash -c \ "rm -rf ${gem5_root}/gem5-resources" # delete Pannotia datasets and output files in case a failed regression run left # them around @@ -113,7 +117,7 @@ cd "${gem5_root}" # avoid needing to set all of these, we instead build a docker for it, which # has all these variables pre-set in its Dockerfile # To avoid compiling gem5 multiple times, all GPU benchmarks will use this -docker pull gcr.io/gem5-test/gcn-gpu:latest +docker pull gcr.io/gem5-test/gcn-gpu:${tag} docker build -t hacc-test-weekly ${gem5_root}/gem5-resources/src/gpu/halo-finder docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \ diff --git a/util/dockerfiles/docker-compose.yaml b/util/dockerfiles/docker-compose.yaml index f02d6005de..004052283a 100644 --- a/util/dockerfiles/docker-compose.yaml +++ b/util/dockerfiles/docker-compose.yaml @@ -5,154 +5,154 @@ services: build: context: gcn-gpu dockerfile: Dockerfile - image: gcr.io/gem5-test/gcn-gpu + image: gcr.io/gem5-test/gcn-gpu:v22-1 gpu-fs: build: context: gpu-fs dockerfile: Dockerfile - image: gcr.io/gem5-test/gpu-fs + image: gcr.io/gem5-test/gpu-fs:v22-1 sst: build: context: sst-11.1.0 dockerfile: Dockerfile - image: gcr.io/gem5-test/sst-env + image: gcr.io/gem5-test/sst-env:v22-1 systemc: build: context: systemc-2.3.3 dockerfile: Dockerfile - image: gcr.io/gem5-test/systemc-env + image: gcr.io/gem5-test/systemc-env:v22-1 ubuntu-18.04_all-dependencies: build: context: ubuntu-18.04_all-dependencies dockerfile: Dockerfile - image: gcr.io/gem5-test/ubuntu-18.04_all-dependencies + image: gcr.io/gem5-test/ubuntu-18.04_all-dependencies:v22-1 ubuntu-20.04_all-dependencies: build: context: ubuntu-20.04_all-dependencies dockerfile: Dockerfile - image: gcr.io/gem5-test/ubuntu-20.04_all-dependencies + image: gcr.io/gem5-test/ubuntu-20.04_all-dependencies:v22-1 ubuntu-22.04_all-dependencies: build: context: ubuntu-22.04_all-dependencies dockerfile: Dockerfile - image: gcr.io/gem5-test/ubuntu-22.04_all-dependencies + image: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:v22-1 ubuntu-22.04_min-dependencies: build: context: ubuntu-22.04_min-dependencies dockerfile: Dockerfile - image: gcr.io/gem5-test/ubuntu-22.04_min-dependencies + image: gcr.io/gem5-test/ubuntu-22.04_min-dependencies:v22-1 gcc-7: build: context: ubuntu-18.04_gcc-version dockerfile: Dockerfile args: - version=7 - image: gcr.io/gem5-test/gcc-version-7 + image: gcr.io/gem5-test/gcc-version-7:v22-1 gcc-8: build: context: ubuntu-18.04_gcc-version dockerfile: Dockerfile args: - version=8 - image: gcr.io/gem5-test/gcc-version-8 + image: gcr.io/gem5-test/gcc-version-8:v22-1 gcc-9: build: context: ubuntu-20.04_gcc-version dockerfile: Dockerfile args: - version=9 - image: gcr.io/gem5-test/gcc-version-9 + image: gcr.io/gem5-test/gcc-version-9:v22-1 gcc-10: build: context: ubuntu-20.04_gcc-version dockerfile: Dockerfile args: - version=10 - image: gcr.io/gem5-test/gcc-version-10 + image: gcr.io/gem5-test/gcc-version-10:v22-1 gcc-11: build: context: ubuntu-22.04_gcc-version dockerfile: Dockerfile args: - version=11 - image: gcr.io/gem5-test/gcc-version-11 + image: gcr.io/gem5-test/gcc-version-11:v22-1 gcc-12: build: context: ubuntu-22.04_gcc-version dockerfile: Dockerfile args: - version=12 - image: gcr.io/gem5-test/gcc-version-12 + image: gcr.io/gem5-test/gcc-version-12:v22-1 clang-6: build: context: ubuntu-18.04_clang-version dockerfile: Dockerfile args: - version=6.0 - image: gcr.io/gem5-test/clang-version-6.0 + image: gcr.io/gem5-test/clang-version-6.0:v22-1 clang-7: build: context: ubuntu-18.04_clang-version dockerfile: Dockerfile args: - version=7 - image: gcr.io/gem5-test/clang-version-7 + image: gcr.io/gem5-test/clang-version-7:v22-1 clang-8: build: context: ubuntu-18.04_clang-version dockerfile: Dockerfile args: - version=8 - image: gcr.io/gem5-test/clang-version-8 + image: gcr.io/gem5-test/clang-version-8:v22-1 clang-9: build: context: ubuntu-18.04_clang-version dockerfile: Dockerfile args: - version=9 - image: gcr.io/gem5-test/clang-version-9 + image: gcr.io/gem5-test/clang-version-9:v22-1 clang-10: build: context: ubuntu-20.04_clang-version dockerfile: Dockerfile args: - version=10 - image: gcr.io/gem5-test/clang-version-10 + image: gcr.io/gem5-test/clang-version-10:v22-1 clang-11: build: context: ubuntu-20.04_clang-version dockerfile: Dockerfile args: - version=11 - image: gcr.io/gem5-test/clang-version-11 + image: gcr.io/gem5-test/clang-version-11:v22-1 clang-12: build: context: ubuntu-20.04_clang-version dockerfile: Dockerfile args: - version=12 - image: gcr.io/gem5-test/clang-version-12 + image: gcr.io/gem5-test/clang-version-12:v22-1 clang-13: build: context: ubuntu-22.04_clang-version dockerfile: Dockerfile args: - version=13 - image: gcr.io/gem5-test/clang-version-13 + image: gcr.io/gem5-test/clang-version-13:v22-1 clang-14: build: context: ubuntu-22.04_clang-version dockerfile: Dockerfile args: - version=14 - image: gcr.io/gem5-test/clang-version-14 + image: gcr.io/gem5-test/clang-version-14:v22-1 llvm-gnu-cross-compiler-riscv64: build: context: llvm-gnu-cross-compiler-riscv64 dockerfile: Dockerfile - image: gcr.io/gem5-test/llvm-gnu-cross-compiler-riscv64 + image: gcr.io/gem5-test/llvm-gnu-cross-compiler-riscv64:v22-1 gem5-all-min-dependencies: build: context: gem5-all-min-dependencies dockerfile: Dockerfile - image: gcr.io/gem5-test/gem5-all-min-dependencies + image: gcr.io/gem5-test/gem5-all-min-dependencies:v22-1 diff --git a/util/dockerfiles/gcn-gpu/Dockerfile b/util/dockerfiles/gcn-gpu/Dockerfile index c5db8963a8..dfff455079 100644 --- a/util/dockerfiles/gcn-gpu/Dockerfile +++ b/util/dockerfiles/gcn-gpu/Dockerfile @@ -69,7 +69,7 @@ RUN git clone -b rocm-4.0.0 \ WORKDIR /ROCclr # The patch allows us to avoid building blit kernels on-the-fly in gem5 -RUN wget -q -O - dist.gem5.org/dist/develop/rocm_patches/ROCclr.patch | git apply -v +RUN wget -q -O - dist.gem5.org/dist/v22-1/rocm_patches/ROCclr.patch | git apply -v WORKDIR /ROCclr/build RUN cmake -DOPENCL_DIR="/ROCm-OpenCL-Runtime" \