Skip to content

Commit

Permalink
merge develop to earlyDataM
Browse files Browse the repository at this point in the history
  • Loading branch information
mysoreanoop committed Dec 7, 2023
2 parents b6063f5 + 75544b2 commit e7e43a1
Show file tree
Hide file tree
Showing 932 changed files with 10,671 additions and 5,465 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/ci-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,22 @@ jobs:
build-matrix: ${{ steps.build-matrix.outputs.build-matrix }}
test-dirs-matrix: ${{ steps.dir-matrix.outputs.test-dirs-matrix }}

clang-fast-compilation:
# gem5 binaries built in `quick-gem5-builds` always use GCC.
# Clang is more strict than GCC. This job checks that gem5 compiles
# with Clang. It compiles build/ALL/gem5.fast to maximize the change
# for compilation error to be exposed.
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/clang-version-16:latest
needs: [pre-commit, check-for-change-id]
timeout-minutes: 90
steps:
- uses: actions/checkout@v3
- name: Clang Compilation
working-directory: ${{ github.workspace }}
run: scons build/ALL/gem5.fast -j $(nproc)

testlib-quick-gem5-builds:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/compiler-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ jobs:
strategy:
fail-fast: false
matrix:
image: [gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-9, gcc-version-8, clang-version-16, clang-version-15, clang-version-14,
clang-version-13, clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies,
image: [gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-8, clang-version-16, clang-version-15, clang-version-14, clang-version-13,
clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies,
ubuntu-22.04_all-dependencies, ubuntu-22.04_min-dependencies]
opts: [.opt, .fast]
runs-on: [self-hosted, linux, x64]
Expand Down
27 changes: 20 additions & 7 deletions .github/workflows/daily-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,20 @@ jobs:
# the default is to add -j $(nproc), but some images
# require more specifications when built
include:
- command-line: -j $(nproc)
- setconfig-option: ''
- isa-option: ''
- image: ALL_CHI
command-line: --default=ALL PROTOCOL=CHI -j $(nproc)
setconfig-option: RUBY_PROTOCOL_CHI=y
isa-option: ALL
- image: ALL_MSI
command-line: --default=ALL PROTOCOL=MSI -j $(nproc)
setconfig-option: RUBY_PROTOCOL_MSI=y
isa-option: ALL
- image: ALL_MESI_Two_Level
command-line: --default=ALL PROTOCOL=MESI_Two_Level -j $(nproc)
setconfig-option: RUBY_PROTOCOL_MESI_TWO_LEVEL=y
isa-option: ALL
- image: NULL_MI_example
command-line: --default=NULL PROTOCOL=MI_example -j $(nproc)
setconfig-option: RUBY_PROTOCOL_MI_EXAMPLE=y
isa-option: 'NULL'
runs-on: [self-hosted, linux, x64]
needs: name-artifacts
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
Expand All @@ -46,8 +51,14 @@ jobs:
# Scheduled workflows run on the default branch by default. We
# therefore need to explicitly checkout the develop branch.
ref: develop
- name: defconfig gem5
if: ${{ matrix.setconfig-option != '' }}
run: scons defconfig build/${{ matrix.image }} build_opts/${{ matrix.isa-option }}
- name: setconfig gem5
if: ${{ matrix.setconfig-option != '' }}
run: scons setconfig build/${{ matrix.image }} ${{ matrix.setconfig-option }}
- name: Build gem5
run: scons build/${{ matrix.image }}/gem5.opt ${{ matrix.command-line }}
run: scons build/${{ matrix.image }}/gem5.opt -j $(nproc)
- uses: actions/upload-artifact@v3
with:
name: ${{ needs.name-artifacts.outputs.build-name }}${{ matrix.image }}
Expand Down Expand Up @@ -245,8 +256,10 @@ jobs:
ref: develop
- name: Build ARM/gem5.opt
run: scons build/ARM/gem5.opt --ignore-style --duplicate-sources -j$(nproc)
- name: disable systemc
run: scons setconfig build/ARM --ignore-style USE_SYSTEMC=n
- name: Build ARM/libgem5_opt.so
run: scons build/ARM/libgem5_opt.so --with-cxx-config --without-python --without-tcmalloc USE_SYSTEMC=0 -j$(nproc) --duplicate-sources
run: scons build/ARM/libgem5_opt.so --with-cxx-config --without-python --without-tcmalloc -j$(nproc) --duplicate-sources
- name: Compile gem5 withing SystemC
working-directory: ${{ github.workspace }}/util/systemc/gem5_within_systemc
run: make
Expand Down
29 changes: 14 additions & 15 deletions .github/workflows/gpu-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ jobs:
# therefore need to explicitly checkout the develop branch.
ref: develop
- name: Build gem5
run: scons build/GCN3_X86/gem5.opt -j $(nproc) --ignore-style
run: scons build/VEGA_X86/gem5.opt -j $(nproc) --ignore-style
- uses: actions/upload-artifact@v3
with:
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-gcn3
path: build/GCN3_X86/gem5.opt
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-vega
path: build/VEGA_X86/gem5.opt
retention-days: 5
- run: echo "This job's status is ${{ job.status }}."

Expand All @@ -43,26 +43,25 @@ jobs:
# therefore need to explicitly checkout the develop branch.
ref: develop

- name: Download build/GCN3_X86/gem5.opt
- name: Download build/VEGA_X86/gem5.opt
uses: actions/download-artifact@v3
with:
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-gcn3
path: build/GCN3_X86
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-vega
path: build/VEGA_X86
# `download-artifact` does not preserve permissions so we need to set
# them again.
- run: chmod u+x build/GCN3_X86/gem5.opt
- run: chmod u+x build/VEGA_X86/gem5.opt

- name: Obtain LULESH
working-directory: ${{ github.workspace }}/lulesh
# Obtains the latest LULESH compatible with this version of gem5 via
# gem5 Resources.
run: build/GCN3_X86/gem5.opt util/obtain-resource.py lulesh -p lulesh
run: build/VEGA_X86/gem5.opt util/obtain-resource.py lulesh -p lulesh

- name: Run LULUESH tests
working-directory: ${{ github.workspace }}
run: |
build/GCN3_X86/gem5.opt configs/example/apu_se.py -n3 --mem-size=8GB --reg-alloc-policy=dynamic --benchmark-root="lulesh" -c \
lulesh 0.01 2
build/VEGA_X86/gem5.opt configs/example/apu_se.py -n3 --mem-size=8GB --reg-alloc-policy=dynamic --dgpu --gfx-version=gfx900 -c \
lulesh --options="0.01 2"
HACC-tests:
runs-on: [self-hosted, linux, x64]
Expand All @@ -77,9 +76,9 @@ jobs:
ref: develop
- uses: actions/download-artifact@v3
with:
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-gcn3
path: build/GCN3_X86
- run: chmod u+x build/GCN3_X86/gem5.opt
name: weekly-test-${{ github.run_number }}-attempt-${{ github.run_attempt }}-gem5-build-vega
path: build/VEGA_X86
- run: chmod u+x build/VEGA_X86/gem5.opt
- name: make hip directory
run: mkdir hip
- name: Compile m5ops and x86
Expand All @@ -93,4 +92,4 @@ jobs:
- name: Run HACC tests
working-directory: ${{ github.workspace }}
run: |
build/GCN3_X86/gem5.opt configs/example/apu_se.py -n3 --reg-alloc-policy=dynamic --benchmark-root=hip -c ForceTreeTest --options="0.5 0.1 64 0.1 1 N 12 rcb"
build/VEGA_X86/gem5.opt configs/example/apu_se.py -n3 --reg-alloc-policy=dynamic --benchmark-root=hip -c ForceTreeTest --options="0.5 0.1 64 0.1 1 N 12 rcb"
8 changes: 2 additions & 6 deletions .github/workflows/weekly-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
- run: chmod u+x build/ALL/gem5.opt
- name: very-long ${{ matrix.test-type }}
working-directory: ${{ github.workspace }}/tests
run: ./main.py run gem5/${{ matrix.test-type }} --length very-long --skip-build -vv -t $(nproc)
run: ./main.py run gem5/${{ matrix.test-type }} --length very-long --skip-build -vv
- name: create zip of results
if: success() || failure()
run: |
Expand Down Expand Up @@ -89,11 +89,7 @@ jobs:

- name: Checkout DRAMSys
working-directory: ${{ github.workspace }}/ext/dramsys
run: |
git clone https://github.com/tukl-msd/DRAMSys DRAMSys
cd DRAMSys
git checkout -b gem5 09f6dcbb91351e6ee7cadfc7bc8b29d97625db8f
git submodule update --init --recursive
run: git clone https://github.com/tukl-msd/DRAMSys --branch v5.0 --depth 1 DRAMSys

# gem5 is built separately because it depends on the DRAMSys library
- name: Build gem5
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
build
gem5_build
parser.out
parsetab.py
cscope.files
Expand Down
4 changes: 4 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ repos:
- id: check-symlinks
- id: destroyed-symlinks
- id: requirements-txt-fixer
- repo: https://github.com/PyCQA/isort
rev: 5.11.5
hooks:
- id: isort
- repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
rev: 0.2.3
hooks:
Expand Down
53 changes: 0 additions & 53 deletions SConsopts

This file was deleted.

Loading

0 comments on commit e7e43a1

Please sign in to comment.