From b6852171c47ee969a0b94c07c288c99fbcd8f034 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 31 Jul 2024 14:28:22 +0100 Subject: [PATCH 001/254] moving over files from fork --- .github/actions/select_env/action.yml | 71 ++++++++ .../actions/setup_armclang_ubuntu/action.yml | 55 +++++++ .github/actions/setup_cmake/action.yml | 46 ++++++ .github/actions/setup_deps/action.yml | 143 +++++++++++++++++ .github/actions/setup_gcc_debian/action.yml | 94 +++++++++++ .github/actions/setup_gcc_macos/action.yml | 76 +++++++++ .github/actions/setup_gcc_redhat/action.yml | 92 +++++++++++ .github/actions/setup_gcc_rocky/action.yml | 100 ++++++++++++ .github/actions/setup_gcc_ubuntu/action.yml | 56 +++++++ .github/actions/simeng_benchmarks/action.yml | 46 ++++++ .github/workflows/MACOS_BUILD_TEST.yml | 100 ++++++++++++ .github/workflows/OS_BUILD_TEST.yml | 151 ++++++++++++++++++ 12 files changed, 1030 insertions(+) create mode 100644 .github/actions/select_env/action.yml create mode 100644 .github/actions/setup_armclang_ubuntu/action.yml create mode 100644 .github/actions/setup_cmake/action.yml create mode 100644 .github/actions/setup_deps/action.yml create mode 100644 .github/actions/setup_gcc_debian/action.yml create mode 100644 .github/actions/setup_gcc_macos/action.yml create mode 100644 .github/actions/setup_gcc_redhat/action.yml create mode 100644 .github/actions/setup_gcc_rocky/action.yml create mode 100644 .github/actions/setup_gcc_ubuntu/action.yml create mode 100644 .github/actions/simeng_benchmarks/action.yml create mode 100644 .github/workflows/MACOS_BUILD_TEST.yml create mode 100644 .github/workflows/OS_BUILD_TEST.yml diff --git a/.github/actions/select_env/action.yml b/.github/actions/select_env/action.yml new file mode 100644 index 0000000000..129d9d7422 --- /dev/null +++ b/.github/actions/select_env/action.yml @@ -0,0 +1,71 @@ +name: setup armclang +description: installs dependencies and correct armclang version to build and test simeng + +############################################################################## +# Calls the correct setup action based on parameters passed into this action;. +############################################################################## + +inputs: + OS: + required: true + LLVM-VERSION: + required: true + COMPILER: + required: true + +runs: + using: 'composite' + steps: + ########################################## + # GCC jobs + ########################################## + + # ubuntu + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'ubuntu') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_ubuntu + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + + # rocky linux + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'rocky') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_rocky + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + + # red hat + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'redhat') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_redhat + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + + # debian + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'debian') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_debian + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + + # macos + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'macos') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_macos + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + + ########################################## + # ARMCLANG jobs + ########################################## + - if: ${{ contains( inputs.COMPILER, 'armclang') && contains(inputs.OS, 'ubuntu') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_armclang_ubuntu + with: + OS: ${{ inputs.OS }} + diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml new file mode 100644 index 0000000000..7fc4a34b17 --- /dev/null +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -0,0 +1,55 @@ +name: setup armclang +description: installs dependencies and correct armclang version to build and test simeng + +inputs: + OS: + required: true + LLVM-VERSION: + required: true + +runs: + using: 'composite' + steps: + - name: install dependencies + uses: ./.github/actions/setup_deps + + - name: install cmake or restore from cache + uses: ./.github/actions/setup_cmake + with: + OS: ${{ inputs.OS }} + + - name: install llvm + shell: bash + run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + ./llvm.sh ${{ inputs.LLVM-VERSION }} + + ####################################### + # - name: armclang restore + # uses: actions/cache/restore@v4 + # id: armclang-restore-v4 + # with: + # path: /usr/local/armclang + # key: armclang-${{ inputs.OS }} + # ####################################### + # - if: ${{ steps.armclang-restore-v4.outputs.cache-hit != 'true' }} + # name: Install armclang + # shell: bash + # run: | + # wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Source_Code/gcc-11-sources.tar.xz > /dev/null 2>&1 + # tar -xf gcc-11-sources.tar.xz.tar.gz > /dev/null 2>&1 + # cd gcc-11-sources + # tree -L 2 + # ./contrib/download_prerequisites > /dev/null + # ./configure --enable-languages=c,c++ -disable-multilib --prefix=/usr/local/armclang + + # make -j$(nproc) + # make install + # ####################################### + # - name: armclang save + # uses: actions/cache/save@v4 + # id: armclang-save-v4 + # with: + # path: /usr/local/armclang + # key: armclang-${{ inputs.OS }} \ No newline at end of file diff --git a/.github/actions/setup_cmake/action.yml b/.github/actions/setup_cmake/action.yml new file mode 100644 index 0000000000..4e17c1743a --- /dev/null +++ b/.github/actions/setup_cmake/action.yml @@ -0,0 +1,46 @@ +name: setup cmake +description: installs and caches cmake + +inputs: + OS: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Updating apt repositories for ubuntu to install cmake via package manager without issues + ####################################### + + - if: ${{ inputs.OS == 'ubuntu:20.04' }} + name: install cmake via apt + shell: bash + run: | + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' && \ + apt update && apt install cmake -y + apt upgrade -y + + - if: ${{ inputs.OS == 'ubuntu:18.04' || inputs.OS == 'debian:10'}} + name: install cmake via apt + shell: bash + run: | + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \ + apt update && apt install cmake -y + apt upgrade -y + + ####################################### + # Install via package manager for + ####################################### + - if: ${{ inputs.OS == 'debian:11' }} + name: install cmake via apt + shell: bash + run: | + apt install -y cmake + + - if: ${{ contains(inputs.OS, 'redhat') || contains(inputs.OS, 'rocky') }} + name: install cmake via dnf + shell: bash + run: | + dnf install -y cmake diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml new file mode 100644 index 0000000000..999cf39890 --- /dev/null +++ b/.github/actions/setup_deps/action.yml @@ -0,0 +1,143 @@ +name: sets up dependencies for simeng + +inputs: + + OS: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Ubuntu Dependencies + ####################################### + - if: ${{ contains(inputs.OS, 'ubuntu') }} + name: install dependencies + shell: bash + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + software-properties-common \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + # Add additional repositories + add-apt-repository universe + add-apt-repository ppa:ubuntu-toolchain-r/test + + # Update package lists again after adding repositories + apt-get update + + # Upgrade all installed packages + apt-get upgrade -y + + ####################################### + # Debian Dependencies + ####################################### + - if: ${{ contains(inputs.OS, 'debian') }} + name: install dependencies + shell: bash + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + python3-launchpadlib \ + software-properties-common \ + build-essential \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + apt-get update + apt-get upgrade -y + + ####################################### + # Redhat Dependencies + ####################################### + - if: ${{ contains(inputs.OS, 'redhat') }} + name: install dependencies + shell: bash + run: | + dnf -y update && \ + dnf -y install \ + gcc gcc-c++ make \ + wget \ + python3 \ + git \ + diffutils \ + openssl-devel \ + bzip2 \ + automake \ + autoconf \ + cmake \ + file \ + zlib-devel + + if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + fi + + dnf update -y + dnf upgrade -y + dnf clean all + + ####################################### + # Rocky Dependencies + ####################################### + - if: ${{ contains(inputs.OS, 'rocky') }} + name: install dependencies + shell: bash + run: | + dnf -y update && \ + dnf install -y epel-release \ + gcc gcc-c++ make \ + git \ + wget \ + openssl-devel \ + automake \ + autoconf \ + bzip2 \ + file \ + sudo \ + tree \ + zlib-devel + dnf group install -y "Development Tools" + dnf update -y + dnf upgrade -y + dnf clean all + + ####################################### + # macos Dependencies + ####################################### + - if: ${{ contains(inputs.OS, 'macos') }} + name: install dependencies + shell: bash + run: | + brew update + brew upgrade + brew install make + diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml new file mode 100644 index 0000000000..25795afdda --- /dev/null +++ b/.github/actions/setup_gcc_debian/action.yml @@ -0,0 +1,94 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + - name: install cmake or restore from cache + uses: ./.github/actions/setup_cmake + with: + OS: ${{ inputs.OS }} + + ####################################### + # Restore gcc from cache. + ####################################### + # - if: ${{ contains(fromJson('["gcc-7", "gcc-8"]'), inputs.gcc-version) }} + - name: restore gcc + uses: actions/cache/restore@v4 + id: gcc-restore-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # If restoring gcc set env vars for info step in OS_BUILD_TEST.yml. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit == 'true' }} + name: set env vars if restoring from cache + shell: bash + run: | + echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + + ####################################### + # Install gcc from source. + ####################################### + + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: install gcc + shell: bash + run: | + GCC_VER="${{ inputs.gcc-version }}.5.0" + + wget https://ftp.gnu.org/gnu/gcc/$GCC_VER/$GCC_VER.tar.gz > /dev/null 2>&1 + tar zxf $GCC_VER.tar.gz + cd $GCC_VER + ./contrib/download_prerequisites + cd .. + mkdir gcc-build + cd gcc-build + ../$GCC_VER/configure --enable-languages=c,c++ --disable-multilib --prefix=/usr/local/$GCC_VER + make -j$(nproc) + make install + + echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + + ####################################### + # Save gcc to cache if earlier miss occured. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: save gcc + uses: actions/cache/save@v4 + id: gcc-save-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR + + cmake --build build -j $(nproc) + + cmake --build build --target install + + diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml new file mode 100644 index 0000000000..427f333453 --- /dev/null +++ b/.github/actions/setup_gcc_macos/action.yml @@ -0,0 +1,76 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + ####################################### + # Restore gcc from cache. + ####################################### + - name: restore gcc + uses: actions/cache/restore@v4 + id: gcc-restore-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # If restoring gcc set env vars for info step in OS_BUILD_TEST.yml. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit == 'true' }} + name: set env vars if restoring from cache + shell: bash + run: | + echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + + ####################################### + # Install gcc from source if not in cache. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: install gcc + shell: bash + run: | + brew install gcc@$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + + echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + + ####################################### + # Save gcc to cache if earlier miss occured. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: save gcc + uses: actions/cache/save@v4 + id: gcc-save-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # Build SimEng without external llvm or ninja. + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + + cmake --build build -j $(sysctl -n hw.ncpu) + + cmake --build build --target install diff --git a/.github/actions/setup_gcc_redhat/action.yml b/.github/actions/setup_gcc_redhat/action.yml new file mode 100644 index 0000000000..a78881dc9f --- /dev/null +++ b/.github/actions/setup_gcc_redhat/action.yml @@ -0,0 +1,92 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + - name: install cmake + uses: ./.github/actions/setup_cmake + with: + OS: ${{ inputs.OS }} + + ####################################### + # Restore gcc 7 or 8 from cache. + ####################################### + - name: restore gcc + uses: actions/cache/restore@v4 + id: gcc-restore-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # If restoring gcc set env vars for info step in OS_BUILD_TEST.yml. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit == 'true' }} + name: set env vars if restoring from cache + shell: bash + run: | + echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + + ####################################### + # As redhat 8 doesn't support installation of gcc via package manager unless you have a subscription, + # hence, we install all gcc versions from source. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: install gcc + shell: bash + run: | + GCC_VER="${{ inputs.gcc-version }}.5.0" + + wget https://ftp.gnu.org/gnu/gcc/$GCC_VER/$GCC_VER.tar.gz > /dev/null 2>&1 + tar xf $GCC_VER.tar.gz + cd $GCC_VER + ./contrib/download_prerequisites + cd .. + mkdir gcc-build + cd gcc-build + ../$GCC_VER/configure --enable-languages=c,c++ --disable-multilib --prefix=/usr/local/$GCC_VER + make -j$(nproc) + make install + + echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + + ####################################### + # Save gcc to cache if earlier miss occured. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: save gcc + uses: actions/cache/save@v4 + id: gcc-save-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # Build SimEng without external llvm or ninja. + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + + cmake --build build -j $(nproc) + + cmake --build build --target install diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml new file mode 100644 index 0000000000..0a95a7f5ea --- /dev/null +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -0,0 +1,100 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + - name: install cmake + uses: ./.github/actions/setup_cmake + with: + OS: ${{ inputs.OS }} + + ####################################### + # Restore gcc 7 or 8 from cache. + ####################################### + - if: ${{ contains(fromJson('["gcc-7", "gcc-8"]'), inputs.gcc-version) }} + name: restore gcc + uses: actions/cache/restore@v4 + id: gcc-restore-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # If restoring gcc set env vars for info step in OS_BUILD_TEST.yml. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit == 'true' }} + name: set env vars if restoring from cache + shell: bash + run: | + echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + + ####################################### + # As rocky 8 doesn't support installing older versions of gcc via package manager, + # gcc 7 and 8 are installed from source and gcc 9 and 10 are installed via dnf. + ####################################### + - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: install gcc + shell: bash + run: | + if [[ " gcc-9 gcc-10 " =~ (^|[[:space:]])${{inputs.gcc-version}}($|[[:space:]]) ]]; then + dnf install -y gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + echo "GCC_DIR=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/g++" >> $GITHUB_ENV + else + GCC_VER="${{ inputs.gcc-version }}.5.0" + + wget https://ftp.gnu.org/gnu/gcc/$GCC_VER/$GCC_VER.tar.gz > /dev/null 2>&1 + tar zxf $GCC_VER.tar.gz + cd $GCC_VER + ./contrib/download_prerequisites + cd .. + mkdir gcc-build + cd gcc-build + ../$GCC_VER/configure --enable-languages=c,c++ --disable-multilib --prefix=/usr/local/$GCC_VER + make -j$(nproc) + make install + + echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + fi + + ####################################### + # Save gcc to cache if earlier miss occured. + ####################################### + - if: ${{ contains(fromJson('["gcc-7", "gcc-8"]'), inputs.gcc-version) && steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + name: save gcc + uses: actions/cache/save@v4 + id: gcc-save-v4 + with: + path: /usr/local/${{ inputs.gcc-version }}.5.0 + key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + + cmake --build build -j $(nproc) + + cmake --build build --target install diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml new file mode 100644 index 0000000000..25d0bb647d --- /dev/null +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -0,0 +1,56 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + - name: install cmake or restore from cache + uses: ./.github/actions/setup_cmake + with: + OS: ${{ inputs.OS }} + + ####################################### + # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason (installs some packages, not sure which ones prevent it, but it doesn't take long to run). + ####################################### + - if: ${{ inputs.gcc-version == 'gcc-10' }} + name: install llvm + shell: bash + run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + ./llvm.sh 14 + + - name: install gcc + shell: bash + run: | + apt-get -y install ${{ inputs.gcc-version }} + apt-get -y install g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + apt update && apt upgrade -y + + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + + cmake --build build -j $(nproc) + + cmake --build build --target install + + echo "GCC_DIR=/usr/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + echo "CPP_DIR=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + + \ No newline at end of file diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml new file mode 100644 index 0000000000..2ecd4ab597 --- /dev/null +++ b/.github/actions/simeng_benchmarks/action.yml @@ -0,0 +1,46 @@ +name: simeng-benchmarks +description: runs simeng benchmarks + +inputs: + BENCHMARK_BRANCH: + required: true + OS: + required: true + +runs: + using: 'composite' + steps: + + ################################## + # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSs that have differening node versions + # NOTE: will probably have to update due to node depreciation and node 20 being enforced and requiring glibc 2.28 + + - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} + name: checkout v3 + uses: actions/checkout@v3 + with: + repository: UoB-HPC/simeng-benchmarks + token: # fill with path as secret + path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + + - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} + name: checkout v4 + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + token: # fill with path as secret + path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + + - name: remove + shell: bash + run: | + tree .. -L 2 + echo "whhoop" + + - name: run benchmark + shell: bash + run: | + cd ../simeng-benchmarks/Tools/simulation/validation + SIMENG_BENCHMARKS_SRC_DIR=../simeng-benchmark python3 validate_simulation.py all_a64fx.json /home/llaeoi/Desktop/SimEng_fork/configs/a64fx.yaml + + diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml new file mode 100644 index 0000000000..aa71af891a --- /dev/null +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -0,0 +1,100 @@ +name: OS_BUILD_TEST_MACOS + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + +on: + workflow_dispatch: + pull_request: + +jobs: + Build_and_Run: + runs-on: macos-13 + + strategy: + fail-fast: false + matrix: + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] #, 'armclang-22.0.2'] + + + name: "macos-13 + ${{ matrix.compiler }}" + + steps: + ####################################### + # Clones repo to workspace. + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: macos + COMPILER: ${{ matrix.COMPILER }} + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + + ####################################### + # Run Integration Tests. + ####################################### + - name: Integration Tests + shell: bash + run: | + ./build/test/integration/integrationtests + + ####################################### + # Run Unit Tests. + ####################################### + - name: Unit Tests + shell: bash + run: | + ./build/test/unit/unittests + + ####################################### + # Run Regression AARCH64 Tests. + ####################################### + - name: regression test (aarch64) + if: always() + shell: bash + run: | + ./build/test/regression/aarch64/regression-aarch64 + + ####################################### + # Run Regression RISCV Tests. + ####################################### + - name: regression test (riscv) + if: always() + shell: bash + run: | + ./build/test/regression/riscv/regression-riscv + + ####################################### + # Run Benchmark Tests. + ####################################### + # - if: always() + # name: run benchmarks + # uses: ./.github/actions/simeng_benchmarks + # with: + # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + # OS: ${{ matrix.OS }} + ########################################## \ No newline at end of file diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml new file mode 100644 index 0000000000..ed5d0e206a --- /dev/null +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -0,0 +1,151 @@ +name: OS_BUILD_TEST + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + +on: + workflow_dispatch: + pull_request: + +jobs: + Build_and_Run: + + strategy: + fail-fast: false + matrix: + OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + + ####################################### + # Removes unecessary jobs as jobs are generated in the order seen in the matrix. + # "Exclude" is to keep job ordering nice i.e. keeping ubuntu jobs next to each other in the list. + ####################################### + exclude: + - OS: 'ubuntu:20.04' + COMPILER: 'gcc-7' + + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-8' + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-9' + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-10' + + # need redhat 8 for gcc 7 and 8 | redhat 9 for gcc 9 and 10 + - OS: 'redhat/ubi8:latest' + COMPILER: gcc-9 + - OS: 'redhat/ubi8:latest' + COMPILER: gcc-10 + + - OS: 'redhat/ubi9:latest' + COMPILER: gcc-7 + - OS: 'redhat/ubi9:latest' + COMPILER: gcc-8 + + # need debian-10 (buster) for gcc 7 | + - OS: 'debian:10' + COMPILER: 'gcc-8' + - OS: 'debian:10' + COMPILER: 'gcc-9' + - OS: 'debian:10' + COMPILER: 'gcc-10' + + - OS: 'debian:11' + COMPILER: 'gcc-7' + + ####################################### + # Choose container and set name of workflow + ####################################### + runs-on: ubuntu-latest + + container: + image: ${{ matrix.OS }} + + name: ${{ matrix.OS }} + ${{ matrix.compiler }} + + steps: + ####################################### + # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version) + ####################################### + - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} + name: checkout v3 + uses: actions/checkout@v3 + + - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} + name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + # The action is located in .github/actions/select_env + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: ${{ matrix.OS }} + COMPILER: ${{ matrix.COMPILER }} + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + cat /etc/os-release + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + + ####################################### + # Run Integration Tests. + ####################################### + - name: Integration Tests + shell: bash + run: | + ./build/test/integration/integrationtests + + ####################################### + # Run Unit Tests. + ####################################### + - name: Unit Tests + shell: bash + run: | + ./build/test/unit/unittests + + ####################################### + # Run Regression AARCH64 Tests. + ####################################### + - name: regression test (aarch64) + if: always() + shell: bash + run: | + ./build/test/regression/aarch64/regression-aarch64 + + ####################################### + # Run Regression RISCV Tests. + ####################################### + - name: regression test (riscv) + if: always() + shell: bash + run: | + ./build/test/regression/riscv/regression-riscv + + ####################################### + # Run Benchmark Tests. + ####################################### + # - if: always() + # name: run benchmarks + # uses: ./.github/actions/simeng_benchmarks + # with: + # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + # OS: ${{ matrix.OS }} + ########################################## \ No newline at end of file From 5286a81a4b754e2b7d0f61210a84bddd149e40ff Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:37:04 +0100 Subject: [PATCH 002/254] testing checking out additional private repository under the same organisation --- .github/actions/simeng_benchmarks/action.yml | 10 +- .github/workflows/OS_BUILD_TEST.yml | 217 ++++++++++--------- 2 files changed, 124 insertions(+), 103 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 2ecd4ab597..9da6bee0f2 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,8 @@ runs: uses: actions/checkout@v3 with: repository: UoB-HPC/simeng-benchmarks - token: # fill with path as secret + token: ${{ secrets.SIMENGUOB_PAT }} + ref: makefile-build-system path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} @@ -28,7 +29,8 @@ runs: uses: actions/checkout@v4 with: repository: UoB-HPC/simeng-benchmarks - token: # fill with path as secret + token: ${{ secrets.SIMENGUOB_PAT }} + ref: makefile-build-system path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: remove @@ -40,7 +42,7 @@ runs: - name: run benchmark shell: bash run: | - cd ../simeng-benchmarks/Tools/simulation/validation - SIMENG_BENCHMARKS_SRC_DIR=../simeng-benchmark python3 validate_simulation.py all_a64fx.json /home/llaeoi/Desktop/SimEng_fork/configs/a64fx.yaml + cd $GITHUB_WORKSPACE/simeng-benchmarks/Tools/simulation/validation + SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index ed5d0e206a..c382e918fc 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -15,45 +15,49 @@ jobs: strategy: fail-fast: false matrix: - OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + #NOTE REMOVE + OS: ['ubuntu:20.04'] # Docker images + COMPILER: ['gcc-10'] # compiler names + + # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + # COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. # "Exclude" is to keep job ordering nice i.e. keeping ubuntu jobs next to each other in the list. ####################################### - exclude: - - OS: 'ubuntu:20.04' - COMPILER: 'gcc-7' - - - OS: 'ubuntu:18.04' - COMPILER: 'gcc-8' - - OS: 'ubuntu:18.04' - COMPILER: 'gcc-9' - - OS: 'ubuntu:18.04' - COMPILER: 'gcc-10' - - # need redhat 8 for gcc 7 and 8 | redhat 9 for gcc 9 and 10 - - OS: 'redhat/ubi8:latest' - COMPILER: gcc-9 - - OS: 'redhat/ubi8:latest' - COMPILER: gcc-10 - - - OS: 'redhat/ubi9:latest' - COMPILER: gcc-7 - - OS: 'redhat/ubi9:latest' - COMPILER: gcc-8 - - # need debian-10 (buster) for gcc 7 | - - OS: 'debian:10' - COMPILER: 'gcc-8' - - OS: 'debian:10' - COMPILER: 'gcc-9' - - OS: 'debian:10' - COMPILER: 'gcc-10' - - - OS: 'debian:11' - COMPILER: 'gcc-7' + # exclude: + # - OS: 'ubuntu:20.04' + # COMPILER: 'gcc-7' + + # - OS: 'ubuntu:18.04' + # COMPILER: 'gcc-8' + # - OS: 'ubuntu:18.04' + # COMPILER: 'gcc-9' + # - OS: 'ubuntu:18.04' + # COMPILER: 'gcc-10' + + # # need redhat 8 for gcc 7 and 8 | redhat 9 for gcc 9 and 10 + # - OS: 'redhat/ubi8:latest' + # COMPILER: gcc-9 + # - OS: 'redhat/ubi8:latest' + # COMPILER: gcc-10 + + # - OS: 'redhat/ubi9:latest' + # COMPILER: gcc-7 + # - OS: 'redhat/ubi9:latest' + # COMPILER: gcc-8 + + # # need debian-10 (buster) for gcc 7 | + # - OS: 'debian:10' + # COMPILER: 'gcc-8' + # - OS: 'debian:10' + # COMPILER: 'gcc-9' + # - OS: 'debian:10' + # COMPILER: 'gcc-10' + + # - OS: 'debian:11' + # COMPILER: 'gcc-7' ####################################### # Choose container and set name of workflow @@ -76,76 +80,91 @@ jobs: - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 - - ####################################### - # Depending on OS and compiler, this step chooses the correct setup action to run. - # The action is located in .github/actions/select_env - ####################################### - - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env - with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: ${{ matrix.OS }} - COMPILER: ${{ matrix.COMPILER }} - - ####################################### - # Prints out info in isolated step for easy access. - ####################################### - - name: INFO - shell: bash + + #Note: remove + - name: testing checkout benchmarks repo + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + token: ${{ secrets.SIMENGUOB_PAT }} + ref: makefile-build-system + path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + + - name: location run: | - cat /etc/os-release - echo "_______________________________________" - cmake --version - echo "_______________________________________" - "${{ env.GCC_DIR }}" --version - which gcc - echo "_______________________________________" - "${{ env.CPP_DIR }}" --version - which g++ - echo "_______________________________________" + pwd + cd .. && pwd + echo $GITHUB_WORKSPACE + ls $GITHUB_WORKSPACE + # ####################################### + # # Depending on OS and compiler, this step chooses the correct setup action to run. + # # The action is located in .github/actions/select_env + # ####################################### + # - name: setup compiler and OS env + build simeng + # uses: ./.github/actions/select_env + # with: + # LLVM-VERSION: ${{ env.LLVM-VERSION }} + # OS: ${{ matrix.OS }} + # COMPILER: ${{ matrix.COMPILER }} + + # ####################################### + # # Prints out info in isolated step for easy access. + # ####################################### + # - name: INFO + # shell: bash + # run: | + # cat /etc/os-release + # echo "_______________________________________" + # cmake --version + # echo "_______________________________________" + # "${{ env.GCC_DIR }}" --version + # which gcc + # echo "_______________________________________" + # "${{ env.CPP_DIR }}" --version + # which g++ + # echo "_______________________________________" - ####################################### - # Run Integration Tests. - ####################################### - - name: Integration Tests - shell: bash - run: | - ./build/test/integration/integrationtests - - ####################################### - # Run Unit Tests. - ####################################### - - name: Unit Tests - shell: bash - run: | - ./build/test/unit/unittests - - ####################################### - # Run Regression AARCH64 Tests. - ####################################### - - name: regression test (aarch64) - if: always() - shell: bash - run: | - ./build/test/regression/aarch64/regression-aarch64 - - ####################################### - # Run Regression RISCV Tests. - ####################################### - - name: regression test (riscv) - if: always() - shell: bash - run: | - ./build/test/regression/riscv/regression-riscv - - ####################################### - # Run Benchmark Tests. - ####################################### + # ####################################### + # # Run Integration Tests. + # ####################################### + # - name: Integration Tests + # shell: bash + # run: | + # ./build/test/integration/integrationtests + + # ####################################### + # # Run Unit Tests. + # ####################################### + # - name: Unit Tests + # shell: bash + # run: | + # ./build/test/unit/unittests + + # ####################################### + # # Run Regression AARCH64 Tests. + # ####################################### + # - name: regression test (aarch64) + # if: always() + # shell: bash + # run: | + # ./build/test/regression/aarch64/regression-aarch64 + + # ####################################### + # # Run Regression RISCV Tests. + # ####################################### + # - name: regression test (riscv) + # if: always() + # shell: bash + # run: | + # ./build/test/regression/riscv/regression-riscv + + # ####################################### + # # Run Benchmark Tests. + # ####################################### # - if: always() # name: run benchmarks # uses: ./.github/actions/simeng_benchmarks # with: # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} # OS: ${{ matrix.OS }} - ########################################## \ No newline at end of file + # ########################################## \ No newline at end of file From ef8a6766f8e2bea001b746a0ead28feae83b48e4 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:38:53 +0100 Subject: [PATCH 003/254] modified to trigger on push --- .github/workflows/OS_BUILD_TEST.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index c382e918fc..4223725440 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -8,6 +8,7 @@ env: on: workflow_dispatch: pull_request: + push: jobs: Build_and_Run: From d312f339a333a8c793ec1311564da49db836b18c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:54:12 +0100 Subject: [PATCH 004/254] changing path of simeng benchmark checkout step --- .github/workflows/OS_BUILD_TEST.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 4223725440..62ac149dcb 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -77,10 +77,14 @@ jobs: - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 uses: actions/checkout@v3 + with: + path: simeng - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 + with: + path: simeng #Note: remove - name: testing checkout benchmarks repo @@ -89,7 +93,7 @@ jobs: repository: UoB-HPC/simeng-benchmarks token: ${{ secrets.SIMENGUOB_PAT }} ref: makefile-build-system - path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: location run: | From 529b45e7e8e59728216e8603f67f4b6098ed80d8 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 31 Jul 2024 17:56:48 +0100 Subject: [PATCH 005/254] echoing secrets to confirm existence --- .github/workflows/OS_BUILD_TEST.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 62ac149dcb..24a6c85be5 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -85,6 +85,10 @@ jobs: uses: actions/checkout@v4 with: path: simeng + + - name: echo secret + run: | + echo ${{ secrets.SIMENGUOB_PAT }} #Note: remove - name: testing checkout benchmarks repo From 8948df44fa508a360ff5f6fcf6628f318a8bd0af Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:31:48 +0100 Subject: [PATCH 006/254] removing token --- .github/workflows/OS_BUILD_TEST.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 24a6c85be5..4073ccd977 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -95,7 +95,6 @@ jobs: uses: actions/checkout@v4 with: repository: UoB-HPC/simeng-benchmarks - token: ${{ secrets.SIMENGUOB_PAT }} ref: makefile-build-system path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks From 3014dab755b3ad9d27a421d7f9b7584f318b2da1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:33:22 +0100 Subject: [PATCH 007/254] adding git for testing checking out benchmark repo --- .github/workflows/OS_BUILD_TEST.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 4073ccd977..22e21e5da2 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -89,6 +89,7 @@ jobs: - name: echo secret run: | echo ${{ secrets.SIMENGUOB_PAT }} + apt-get install -y git #Note: remove - name: testing checkout benchmarks repo From 9f30c91e5f5df3d21b94a0fba071a05277530bf5 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:34:23 +0100 Subject: [PATCH 008/254] added upgrade before installing deps --- .github/workflows/OS_BUILD_TEST.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 22e21e5da2..41891f770d 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -89,6 +89,7 @@ jobs: - name: echo secret run: | echo ${{ secrets.SIMENGUOB_PAT }} + apt update && apt upgrade -y apt-get install -y git #Note: remove From 7d91421783d607f78460989d0f00d061394a3656 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:06:04 +0100 Subject: [PATCH 009/254] adding back token --- .github/workflows/OS_BUILD_TEST.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 41891f770d..fcc41f1d56 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -89,7 +89,7 @@ jobs: - name: echo secret run: | echo ${{ secrets.SIMENGUOB_PAT }} - apt update && apt upgrade -y + apt update && apt upgrade apt-get install -y git #Note: remove @@ -98,6 +98,7 @@ jobs: with: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system + token: ${{ secrets.SIMENGUOB_PAT }} path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: location From c4f47a4b9b1b8acb74bac81a8d60b0f8f77af3e2 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:54:55 +0100 Subject: [PATCH 010/254] testing setting secret as env varibale --- .github/workflows/OS_BUILD_TEST.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index fcc41f1d56..b726e64de5 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -4,6 +4,7 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + PAT: ${{ secrets.SIMENGUOB_PAT }} on: workflow_dispatch: @@ -88,7 +89,7 @@ jobs: - name: echo secret run: | - echo ${{ secrets.SIMENGUOB_PAT }} + echo ${{ env.PAT }} apt update && apt upgrade apt-get install -y git @@ -98,7 +99,7 @@ jobs: with: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system - token: ${{ secrets.SIMENGUOB_PAT }} + token: ${{ env.PAT }} path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: location From 5739597f619d58b04b08457f445874d8984c6b9b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 11:41:42 +0100 Subject: [PATCH 011/254] testing with admin rights --- .github/workflows/OS_BUILD_TEST.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index b726e64de5..6f3c8f18ab 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -108,6 +108,8 @@ jobs: cd .. && pwd echo $GITHUB_WORKSPACE ls $GITHUB_WORKSPACE + + # Note: uncomment # ####################################### # # Depending on OS and compiler, this step chooses the correct setup action to run. # # The action is located in .github/actions/select_env From ababc8dd5d088d0fa5baa59bbc224c6b64130f71 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 11:44:30 +0100 Subject: [PATCH 012/254] testing with admin rights + directly using secret --- .github/workflows/OS_BUILD_TEST.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 6f3c8f18ab..51e440dcec 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -4,7 +4,7 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - PAT: ${{ secrets.SIMENGUOB_PAT }} + # PAT: ${{ secrets.SIMENGUOB_PAT }} on: workflow_dispatch: @@ -89,7 +89,7 @@ jobs: - name: echo secret run: | - echo ${{ env.PAT }} + echo ${{ secrets.SIMENGUOB_PAT }} apt update && apt upgrade apt-get install -y git @@ -99,7 +99,7 @@ jobs: with: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system - token: ${{ env.PAT }} + token: ${{ secrets.SIMENGUOB_PAT }} path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: location From 68b2111291e6f1fd86a23cc82fa6b3d5fce36152 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:07:15 +0100 Subject: [PATCH 013/254] fake push to test secret --- .github/workflows/OS_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 51e440dcec..4d744223e8 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - #NOTE REMOVE + #NOTE: remove OS: ['ubuntu:20.04'] # Docker images COMPILER: ['gcc-10'] # compiler names From c5fe9857aa031feab9252762fa3270e4bbc221f8 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:09:40 +0100 Subject: [PATCH 014/254] fake push to test secret number 2 --- .github/workflows/OS_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 4d744223e8..d7ebd0f470 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - #NOTE: remove + #Note: remove OS: ['ubuntu:20.04'] # Docker images COMPILER: ['gcc-10'] # compiler names From e65bb3e2137816c738890d1311a7d6178d683471 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:19:41 +0100 Subject: [PATCH 015/254] fake push to test secret number 3 --- .github/workflows/OS_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index d7ebd0f470..c706b0c9d3 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - #Note: remove + # Note: remove OS: ['ubuntu:20.04'] # Docker images COMPILER: ['gcc-10'] # compiler names From 355879256f148374fafb718ea359f4cf9015a0b0 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:57:12 +0100 Subject: [PATCH 016/254] testing build and checking out benchmark --- .github/actions/simeng_benchmarks/action.yml | 16 +-- .github/workflows/OS_BUILD_TEST.yml | 143 +++++++++---------- 2 files changed, 79 insertions(+), 80 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 9da6bee0f2..292f4eab93 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -25,13 +25,13 @@ runs: path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} - name: checkout v4 + name: checking out benchmark repository uses: actions/checkout@v4 with: repository: UoB-HPC/simeng-benchmarks - token: ${{ secrets.SIMENGUOB_PAT }} ref: makefile-build-system - path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + token: ${{ secrets.SIMENGUOB_PAT }} + path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: remove shell: bash @@ -39,10 +39,10 @@ runs: tree .. -L 2 echo "whhoop" - - name: run benchmark - shell: bash - run: | - cd $GITHUB_WORKSPACE/simeng-benchmarks/Tools/simulation/validation - SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml + # - name: run benchmark + # shell: bash + # run: | + # cd $GITHUB_WORKSPACE/simeng-benchmarks/Tools/simulation/validation + # SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index c706b0c9d3..7f03ea71bd 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -109,76 +109,75 @@ jobs: echo $GITHUB_WORKSPACE ls $GITHUB_WORKSPACE - # Note: uncomment - # ####################################### - # # Depending on OS and compiler, this step chooses the correct setup action to run. - # # The action is located in .github/actions/select_env - # ####################################### - # - name: setup compiler and OS env + build simeng - # uses: ./.github/actions/select_env - # with: - # LLVM-VERSION: ${{ env.LLVM-VERSION }} - # OS: ${{ matrix.OS }} - # COMPILER: ${{ matrix.COMPILER }} - - # ####################################### - # # Prints out info in isolated step for easy access. - # ####################################### - # - name: INFO - # shell: bash - # run: | - # cat /etc/os-release - # echo "_______________________________________" - # cmake --version - # echo "_______________________________________" - # "${{ env.GCC_DIR }}" --version - # which gcc - # echo "_______________________________________" - # "${{ env.CPP_DIR }}" --version - # which g++ - # echo "_______________________________________" + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + # The action is located in .github/actions/select_env + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: ${{ matrix.OS }} + COMPILER: ${{ matrix.COMPILER }} + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + cat /etc/os-release + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" - # ####################################### - # # Run Integration Tests. - # ####################################### - # - name: Integration Tests - # shell: bash - # run: | - # ./build/test/integration/integrationtests - - # ####################################### - # # Run Unit Tests. - # ####################################### - # - name: Unit Tests - # shell: bash - # run: | - # ./build/test/unit/unittests - - # ####################################### - # # Run Regression AARCH64 Tests. - # ####################################### - # - name: regression test (aarch64) - # if: always() - # shell: bash - # run: | - # ./build/test/regression/aarch64/regression-aarch64 - - # ####################################### - # # Run Regression RISCV Tests. - # ####################################### - # - name: regression test (riscv) - # if: always() - # shell: bash - # run: | - # ./build/test/regression/riscv/regression-riscv - - # ####################################### - # # Run Benchmark Tests. - # ####################################### - # - if: always() - # name: run benchmarks - # uses: ./.github/actions/simeng_benchmarks - # with: - # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - # OS: ${{ matrix.OS }} - # ########################################## \ No newline at end of file + ####################################### + # Run Integration Tests. + ####################################### + - name: Integration Tests + shell: bash + run: | + ./build/test/integration/integrationtests + + ####################################### + # Run Unit Tests. + ####################################### + - name: Unit Tests + shell: bash + run: | + ./build/test/unit/unittests + + ####################################### + # Run Regression AARCH64 Tests. + ####################################### + - name: regression test (aarch64) + if: always() + shell: bash + run: | + ./build/test/regression/aarch64/regression-aarch64 + + ####################################### + # Run Regression RISCV Tests. + ####################################### + - name: regression test (riscv) + if: always() + shell: bash + run: | + ./build/test/regression/riscv/regression-riscv + + ####################################### + # Run Benchmark Tests. + ####################################### + - if: always() + name: run benchmarks + uses: ./.github/actions/simeng_benchmarks + with: + BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + OS: ${{ matrix.OS }} + ########################################## \ No newline at end of file From 038b5146eca48e7d4af2c643bbc5419149ba4c34 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 12:58:36 +0100 Subject: [PATCH 017/254] removed redundant steps for testing secrets --- .github/workflows/OS_BUILD_TEST.yml | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 7f03ea71bd..57529fe558 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -86,28 +86,6 @@ jobs: uses: actions/checkout@v4 with: path: simeng - - - name: echo secret - run: | - echo ${{ secrets.SIMENGUOB_PAT }} - apt update && apt upgrade - apt-get install -y git - - #Note: remove - - name: testing checkout benchmarks repo - uses: actions/checkout@v4 - with: - repository: UoB-HPC/simeng-benchmarks - ref: makefile-build-system - token: ${{ secrets.SIMENGUOB_PAT }} - path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - - - name: location - run: | - pwd - cd .. && pwd - echo $GITHUB_WORKSPACE - ls $GITHUB_WORKSPACE ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. From b95a648cde6b629d344a18412530a2470c1d9026 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:04:36 +0100 Subject: [PATCH 018/254] fixed checkout path --- .github/workflows/OS_BUILD_TEST.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 57529fe558..b0868ee807 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -4,7 +4,6 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - # PAT: ${{ secrets.SIMENGUOB_PAT }} on: workflow_dispatch: @@ -78,14 +77,10 @@ jobs: - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 uses: actions/checkout@v3 - with: - path: simeng - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 - with: - path: simeng ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. From a9c50ab5f3d209b0a2f809a186066ed2eb947ece Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 13:18:36 +0100 Subject: [PATCH 019/254] fixed passing secret into action by setting it as env var --- .github/actions/simeng_benchmarks/action.yml | 6 ++++-- .github/workflows/OS_BUILD_TEST.yml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 292f4eab93..c28bf0af75 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -6,6 +6,8 @@ inputs: required: true OS: required: true + PAT: + required: true runs: using: 'composite' @@ -20,7 +22,7 @@ runs: uses: actions/checkout@v3 with: repository: UoB-HPC/simeng-benchmarks - token: ${{ secrets.SIMENGUOB_PAT }} + token: ${{ inputs.PAT }} ref: makefile-build-system path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks @@ -30,7 +32,7 @@ runs: with: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system - token: ${{ secrets.SIMENGUOB_PAT }} + token: ${{ inputs.PAT }} path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: remove diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index b0868ee807..a3f1ee6acb 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -4,6 +4,7 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + PAT: ${{ secrets.SIMENGUOB_PAT }} on: workflow_dispatch: @@ -153,4 +154,5 @@ jobs: with: BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} OS: ${{ matrix.OS }} + PAT: ${{ env.PAT }} ########################################## \ No newline at end of file From 16e24d67acffcdcf27e0d3d7eeb515d72573a31d Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:01:33 +0100 Subject: [PATCH 020/254] switched to side by side checkouts --- .github/actions/simeng_benchmarks/action.yml | 2 +- .github/workflows/OS_BUILD_TEST.yml | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c28bf0af75..34bd999e9b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: repository: UoB-HPC/simeng-benchmarks token: ${{ inputs.PAT }} ref: makefile-build-system - path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checking out benchmark repository diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index a3f1ee6acb..ce2f0eacab 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -78,11 +78,14 @@ jobs: - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 uses: actions/checkout@v3 + with: + path: main - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 - + with: + path: main ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. # The action is located in .github/actions/select_env From 25cdc4ae1cb530ccf43aad603c66a92b9e231e8d Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:04:41 +0100 Subject: [PATCH 021/254] switching path to actions --- .github/workflows/OS_BUILD_TEST.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index ce2f0eacab..8503298e69 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -79,19 +79,19 @@ jobs: name: checkout v3 uses: actions/checkout@v3 with: - path: main + path: SimEng - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 with: - path: main + path: SimEng ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. # The action is located in .github/actions/select_env ####################################### - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env + uses: ~/SimEng/.github/actions/select_env with: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: ${{ matrix.OS }} From e48e4fedb169976d916fee24c8095dc7f69f765b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:09:11 +0100 Subject: [PATCH 022/254] reverted path back to relative for action --- .github/workflows/OS_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 8503298e69..b36b82d0a7 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -91,7 +91,7 @@ jobs: # The action is located in .github/actions/select_env ####################################### - name: setup compiler and OS env + build simeng - uses: ~/SimEng/.github/actions/select_env + uses: ./.github/actions/select_env with: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: ${{ matrix.OS }} From 606cea7df6aa5242b0c3bf989deb02da4e49a47b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:18:47 +0100 Subject: [PATCH 023/254] swaping path to benchmark directory --- .github/actions/simeng_benchmarks/action.yml | 4 ++-- .github/workflows/OS_BUILD_TEST.yml | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 34bd999e9b..0827c02f4f 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: repository: UoB-HPC/simeng-benchmarks token: ${{ inputs.PAT }} ref: makefile-build-system - path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checking out benchmark repository @@ -33,7 +33,7 @@ runs: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system token: ${{ inputs.PAT }} - path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: remove shell: bash diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index b36b82d0a7..009f7eec5a 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -78,14 +78,11 @@ jobs: - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 uses: actions/checkout@v3 - with: - path: SimEng - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v4 uses: actions/checkout@v4 - with: - path: SimEng + ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. # The action is located in .github/actions/select_env From 77b77c6eabb6ac3142b13b841bb466f4eac5d5db Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:51:19 +0100 Subject: [PATCH 024/254] attempting to run benchmarks --- .github/actions/simeng_benchmarks/action.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 0827c02f4f..49beb5e0c8 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: repository: UoB-HPC/simeng-benchmarks token: ${{ inputs.PAT }} ref: makefile-build-system - path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checking out benchmark repository @@ -33,7 +33,7 @@ runs: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system token: ${{ inputs.PAT }} - path: ../simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - name: remove shell: bash @@ -41,10 +41,10 @@ runs: tree .. -L 2 echo "whhoop" - # - name: run benchmark - # shell: bash - # run: | - # cd $GITHUB_WORKSPACE/simeng-benchmarks/Tools/simulation/validation - # SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml + - name: run benchmark + shell: bash + run: | + cd ./simeng-benchmarks/Tools/simulation/validation + SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml From d8a77d01eeb2a095e392f697928f13b5aea9748b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 16:16:35 +0100 Subject: [PATCH 025/254] added pyparsing module for python benchmark script --- .github/actions/setup_deps/action.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index 999cf39890..f0b2e43b7c 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -33,6 +33,9 @@ runs: tree \ git + # add pyparsing for benchmarking + pip install pyparsing + # Add additional repositories add-apt-repository universe add-apt-repository ppa:ubuntu-toolchain-r/test From 5d0f32f8c8d04198d55b6af0d0a6d6ceb7e6db19 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Fri, 2 Aug 2024 16:32:04 +0100 Subject: [PATCH 026/254] added pip --- .github/actions/setup_deps/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index f0b2e43b7c..9819c191fb 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -34,6 +34,7 @@ runs: git # add pyparsing for benchmarking + apt-get install -y pip pip install pyparsing # Add additional repositories From 41dea6e2d6e0f500064a6ca50ea627a2bf2ea2f5 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:06:35 +0100 Subject: [PATCH 027/254] enabling benchmark step for rest of os and compiler suit --- .github/actions/setup_deps/action.yml | 17 +++++ .github/actions/setup_gcc_debian/action.yml | 4 +- .github/actions/setup_gcc_rocky/action.yml | 1 - .github/actions/setup_gcc_ubuntu/action.yml | 7 +- .github/actions/simeng_benchmarks/action.yml | 6 -- .github/workflows/OS_BUILD_TEST.yml | 71 ++++++++++---------- 6 files changed, 57 insertions(+), 49 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index 9819c191fb..cf33b754a4 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -74,6 +74,10 @@ runs: tree \ git + # add pyparsing for benchmarking + apt-get install -y pip + pip install pyparsing + apt-get update apt-get upgrade -y @@ -105,6 +109,10 @@ runs: dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm fi + # add pyparsing for benchmarking + dnf install -y pip + pip install pyparsing + dnf update -y dnf upgrade -y dnf clean all @@ -129,6 +137,11 @@ runs: sudo \ tree \ zlib-devel + + # add pyparsing for benchmarking + dnf install -y pip + pip install pyparsing + dnf group install -y "Development Tools" dnf update -y dnf upgrade -y @@ -143,5 +156,9 @@ runs: run: | brew update brew upgrade + + brew install pip + pip install pyparsing + brew install make diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml index 25795afdda..dc2e2eba65 100644 --- a/.github/actions/setup_gcc_debian/action.yml +++ b/.github/actions/setup_gcc_debian/action.yml @@ -26,7 +26,6 @@ runs: ####################################### # Restore gcc from cache. ####################################### - # - if: ${{ contains(fromJson('["gcc-7", "gcc-8"]'), inputs.gcc-version) }} - name: restore gcc uses: actions/cache/restore@v4 id: gcc-restore-v4 @@ -47,7 +46,6 @@ runs: ####################################### # Install gcc from source. ####################################### - - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} name: install gcc shell: bash @@ -85,7 +83,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index 0a95a7f5ea..bd89e49ecf 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -13,7 +13,6 @@ runs: ####################################### # Install dependencies required (cmake, etc). ####################################### - - name: install dependencies uses: ./.github/actions/setup_deps with: diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 25d0bb647d..fac8cc7a5d 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -40,11 +40,14 @@ runs: apt-get -y install ${{ inputs.gcc-version }} apt-get -y install g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) apt update && apt upgrade -y - + + ####################################### + # Build SimEng without llvm or ninja + ####################################### - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) cmake --build build -j $(nproc) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 49beb5e0c8..cc850c891b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -35,12 +35,6 @@ runs: token: ${{ inputs.PAT }} path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks - - name: remove - shell: bash - run: | - tree .. -L 2 - echo "whhoop" - - name: run benchmark shell: bash run: | diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index 009f7eec5a..da2ad56d76 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -17,49 +17,46 @@ jobs: strategy: fail-fast: false matrix: - # Note: remove - OS: ['ubuntu:20.04'] # Docker images - COMPILER: ['gcc-10'] # compiler names - # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images - # COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. # "Exclude" is to keep job ordering nice i.e. keeping ubuntu jobs next to each other in the list. ####################################### - # exclude: - # - OS: 'ubuntu:20.04' - # COMPILER: 'gcc-7' - - # - OS: 'ubuntu:18.04' - # COMPILER: 'gcc-8' - # - OS: 'ubuntu:18.04' - # COMPILER: 'gcc-9' - # - OS: 'ubuntu:18.04' - # COMPILER: 'gcc-10' - - # # need redhat 8 for gcc 7 and 8 | redhat 9 for gcc 9 and 10 - # - OS: 'redhat/ubi8:latest' - # COMPILER: gcc-9 - # - OS: 'redhat/ubi8:latest' - # COMPILER: gcc-10 - - # - OS: 'redhat/ubi9:latest' - # COMPILER: gcc-7 - # - OS: 'redhat/ubi9:latest' - # COMPILER: gcc-8 - - # # need debian-10 (buster) for gcc 7 | - # - OS: 'debian:10' - # COMPILER: 'gcc-8' - # - OS: 'debian:10' - # COMPILER: 'gcc-9' - # - OS: 'debian:10' - # COMPILER: 'gcc-10' - - # - OS: 'debian:11' - # COMPILER: 'gcc-7' + exclude: + - OS: 'ubuntu:20.04' + COMPILER: 'gcc-7' + + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-8' + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-9' + - OS: 'ubuntu:18.04' + COMPILER: 'gcc-10' + + # need redhat 8 for gcc 7 and 8 | redhat 9 for gcc 9 and 10 + - OS: 'redhat/ubi8:latest' + COMPILER: gcc-9 + - OS: 'redhat/ubi8:latest' + COMPILER: gcc-10 + + - OS: 'redhat/ubi9:latest' + COMPILER: gcc-7 + - OS: 'redhat/ubi9:latest' + COMPILER: gcc-8 + + # need debian-10 (buster) for gcc 7 | + - OS: 'debian:10' + COMPILER: 'gcc-8' + - OS: 'debian:10' + COMPILER: 'gcc-9' + - OS: 'debian:10' + COMPILER: 'gcc-10' + + - OS: 'debian:11' + COMPILER: 'gcc-7' ####################################### # Choose container and set name of workflow From f1c300a835c1845b913174f8a31db2ae13878ebc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:10:06 +0100 Subject: [PATCH 028/254] fixed pip package name in script --- .github/actions/setup_deps/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index cf33b754a4..84aa3711a1 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -34,7 +34,7 @@ runs: git # add pyparsing for benchmarking - apt-get install -y pip + apt-get install -y python3-pip pip install pyparsing # Add additional repositories @@ -75,7 +75,7 @@ runs: git # add pyparsing for benchmarking - apt-get install -y pip + apt-get install -y python3-pip pip install pyparsing apt-get update @@ -110,7 +110,7 @@ runs: fi # add pyparsing for benchmarking - dnf install -y pip + dnf install -y python3-pip pip install pyparsing dnf update -y @@ -139,7 +139,7 @@ runs: zlib-devel # add pyparsing for benchmarking - dnf install -y pip + dnf install -y python3-pip pip install pyparsing dnf group install -y "Development Tools" @@ -157,7 +157,7 @@ runs: brew update brew upgrade - brew install pip + brew install python3-pip pip install pyparsing brew install make From 964796ee2c5546e0beb8d8c2d2caee793e932148 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:12:11 +0100 Subject: [PATCH 029/254] changed pip to pip3 --- .github/actions/setup_deps/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index 84aa3711a1..8778650a12 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -35,7 +35,7 @@ runs: # add pyparsing for benchmarking apt-get install -y python3-pip - pip install pyparsing + pip3 install pyparsing # Add additional repositories add-apt-repository universe @@ -76,7 +76,7 @@ runs: # add pyparsing for benchmarking apt-get install -y python3-pip - pip install pyparsing + pip3 install pyparsing apt-get update apt-get upgrade -y @@ -111,7 +111,7 @@ runs: # add pyparsing for benchmarking dnf install -y python3-pip - pip install pyparsing + pip3 install pyparsing dnf update -y dnf upgrade -y @@ -140,7 +140,7 @@ runs: # add pyparsing for benchmarking dnf install -y python3-pip - pip install pyparsing + pip3 install pyparsing dnf group install -y "Development Tools" dnf update -y @@ -158,7 +158,7 @@ runs: brew upgrade brew install python3-pip - pip install pyparsing + pip3 install pyparsing brew install make From 4be57a2f9837412d6a4c71508929cbb0c49b6e08 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 01:14:23 +0100 Subject: [PATCH 030/254] fixed some capitalisations and added regression performance checks to i.e. comparing time taken for different runs --- .github/actions/simeng_benchmarks/action.yml | 8 +- .github/workflows/OS_BUILD_TEST.yml | 6 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 236 +++++++++++++++++++ 3 files changed, 244 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/PERFORMANCE_REGRESSION.yml diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index cc850c891b..537d439121 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: repository: UoB-HPC/simeng-benchmarks token: ${{ inputs.PAT }} ref: makefile-build-system - path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checking out benchmark repository @@ -33,12 +33,14 @@ runs: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system token: ${{ inputs.PAT }} - path: simeng-benchmarks # Store in $GITHUB_WORKSPACE/simeng-benchmarks + path: simeng-benchmarks - name: run benchmark shell: bash run: | cd ./simeng-benchmarks/Tools/simulation/validation SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml - + + + diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index da2ad56d76..fbea9eedfc 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -127,7 +127,7 @@ jobs: ####################################### # Run Regression AARCH64 Tests. ####################################### - - name: regression test (aarch64) + - name: Regression Test (aarch64) if: always() shell: bash run: | @@ -136,7 +136,7 @@ jobs: ####################################### # Run Regression RISCV Tests. ####################################### - - name: regression test (riscv) + - name: Regression Test (riscv) if: always() shell: bash run: | @@ -146,7 +146,7 @@ jobs: # Run Benchmark Tests. ####################################### - if: always() - name: run benchmarks + name: Run Benchmarks uses: ./.github/actions/simeng_benchmarks with: BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml new file mode 100644 index 0000000000..481a613824 --- /dev/null +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -0,0 +1,236 @@ +name: PERFORMANCE_REGRESSION + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + PAT: ${{ secrets.SIMENGUOB_PAT }} + +on: + workflow_dispatch: + pull_request: + push: + +jobs: + Build_and_Run: + runs-on: ubuntu-latest + + container: + image: ubuntu:20.04 + + steps: + ####################################### + # Clone SimEng fork + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # install compiler and build SimEng + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: ubuntu:20.04 + COMPILER: gcc-10 + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + cat /etc/os-release + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + + ####################################### + # Checkout simeng-benchmark repository + ####################################### + - name: checking out benchmark repository + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + ref: makefile-build-system + token: ${{ env.PAT }} + path: simeng-benchmarks + + ####################################### + # Cloverleaf + ####################################### + # check for previous time in cache + - name: check for previous cloverleaf time in cache + uses: actions/cache/restore@v4 + id: cloverleaf_benchmark_time + with: + path: ./cloverleaf_benchmark_out.txt + key: cloverleaf_benchmark_time + + # run benchmark and output difference if there is any + - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes + run: | + if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt + + current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + echo "#############################################" + echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" + echo "Current Time: ${current_time}ms" + + if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "Previous Time: ${previous_time}ms" + echo "Absolute Difference: ${difference#-}ms" + else + echo $(previous_time) + fi + + # always overwrite previous time + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./cloverleaf_benchmark_out.txt + key: cloverleaf_benchmark_time + + ####################################### + # miniBUDE + ####################################### + # check for previous time in cache + - name: check for previous minibude time in cache + uses: actions/cache/restore@v4 + id: miniBUDE_benchmark_time + with: + path: ./miniBUDE_benchmark_out.txt + key: miniBUDE_benchmark_time + + # run benchmark and output difference if there is any + - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes + run: | + if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt + + current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + echo "#############################################" + echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" + echo "Current Time: ${current_time}ms" + + if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "Previous Time: ${previous_time}ms" + echo "Absolute Difference: ${difference#-}ms" + else + echo $(previous_time) + fi + + # always overwrite previous time + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./miniBUDE_benchmark_out.txt + key: miniBUDE_benchmark_time + + ####################################### + # STREAM + ####################################### + # check for previous time in cache + - name: check for previous stream time in cache + uses: actions/cache/restore@v4 + id: stream_benchmark_time + with: + path: ./stream_benchmark_out.txt + key: stream_benchmark_time + + # run benchmark and output difference if there is any + - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes + run: | + if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt + + current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + echo "#############################################" + echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" + echo "Current Time: ${current_time}ms" + + if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "Previous Time: ${previous_time}ms" + echo "Absolute Difference: ${difference#-}ms" + else + echo $(previous_time) + fi + + # always overwrite previous time + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./stream_benchmark_out.txt + key: stream_benchmark_time + + ####################################### + # TeaLeaf + ####################################### + # check for previous time in cache + - name: check for previous stream time in cache + uses: actions/cache/restore@v4 + id: tealeaf_benchmark_time + with: + path: ./tealeaf_benchmark_out.txt + key: tealeaf_benchmark_time + + # run benchmark and output difference if there is any + - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes + run: | + if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt + + current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + echo "#############################################" + echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" + echo "Current Time: ${current_time}ms" + + if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "Previous Time: ${previous_time}ms" + echo "Absolute Difference: ${difference#-}ms" + else + echo $(previous_time) + fi + + # always overwrite previous time + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./tealeaf_benchmark_out.txt + key: tealeaf_benchmark_time \ No newline at end of file From fd70864cf1462b46c1a2439aac82d57cc07a1af1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 01:30:37 +0100 Subject: [PATCH 031/254] fixed typos --- .github/workflows/PERFORMANCE_REGRESSION.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 481a613824..f4b49ddf1b 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -77,7 +77,7 @@ jobs: # run benchmark and output difference if there is any - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes run: | - if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -91,7 +91,7 @@ jobs: echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -120,7 +120,7 @@ jobs: # run benchmark and output difference if there is any - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes run: | - if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -134,7 +134,7 @@ jobs: echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -163,7 +163,7 @@ jobs: # run benchmark and output difference if there is any - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes run: | - if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -177,7 +177,7 @@ jobs: echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -206,7 +206,7 @@ jobs: # run benchmark and output difference if there is any - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes run: | - if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -220,7 +220,7 @@ jobs: echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit}} == 'true' ]]; then + if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" From 7ce124555f80ab7b819e977479cf04e1a9a691f9 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 01:47:22 +0100 Subject: [PATCH 032/254] added shell property as bash --- .github/workflows/OS_BUILD_TEST.yml | 1 - .github/workflows/PERFORMANCE_REGRESSION.yml | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index fbea9eedfc..dec23ae494 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -9,7 +9,6 @@ env: on: workflow_dispatch: pull_request: - push: jobs: Build_and_Run: diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index f4b49ddf1b..b4caefe1cc 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -76,6 +76,7 @@ jobs: # run benchmark and output difference if there is any - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes + shell: bash run: | if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -119,6 +120,7 @@ jobs: # run benchmark and output difference if there is any - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes + shell: bash run: | if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -162,6 +164,7 @@ jobs: # run benchmark and output difference if there is any - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes + shell: bash run: | if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -205,6 +208,7 @@ jobs: # run benchmark and output difference if there is any - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes + shell: bash run: | if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') From ff75dfc2e4ee56def5f2ae7fd63ac82692cb60b6 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:50:59 +0100 Subject: [PATCH 033/254] moved equalities inside brackets --- .github/workflows/PERFORMANCE_REGRESSION.yml | 40 ++++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index b4caefe1cc..87cb7e728c 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -69,16 +69,16 @@ jobs: # check for previous time in cache - name: check for previous cloverleaf time in cache uses: actions/cache/restore@v4 - id: cloverleaf_benchmark_time + id: cloverleaf_benchmark_out with: path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_time + key: cloverleaf_benchmark_out # run benchmark and output difference if there is any - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -92,7 +92,7 @@ jobs: echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.cloverleaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -105,7 +105,7 @@ jobs: uses: actions/cache/save@v4 with: path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_time + key: cloverleaf_benchmark_out ####################################### # miniBUDE @@ -113,16 +113,16 @@ jobs: # check for previous time in cache - name: check for previous minibude time in cache uses: actions/cache/restore@v4 - id: miniBUDE_benchmark_time + id: miniBUDE_benchmark_out with: path: ./miniBUDE_benchmark_out.txt - key: miniBUDE_benchmark_time + key: miniBUDE_benchmark_out # run benchmark and output difference if there is any - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_benchmark_out.outputs.cache-hit == 'true' }} ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -136,7 +136,7 @@ jobs: echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.miniBUDE_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_benchmark_out.outputs.cache-hit == 'true' }} ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -149,7 +149,7 @@ jobs: uses: actions/cache/save@v4 with: path: ./miniBUDE_benchmark_out.txt - key: miniBUDE_benchmark_time + key: miniBUDE_benchmark_out ####################################### # STREAM @@ -157,16 +157,16 @@ jobs: # check for previous time in cache - name: check for previous stream time in cache uses: actions/cache/restore@v4 - id: stream_benchmark_time + id: stream_benchmark_out with: path: ./stream_benchmark_out.txt - key: stream_benchmark_time + key: stream_benchmark_out # run benchmark and output difference if there is any - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_benchmark_out.outputs.cache-hit == 'true' }} ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -180,7 +180,7 @@ jobs: echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.stream_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_benchmark_out.outputs.cache-hit == 'true' }} ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -193,7 +193,7 @@ jobs: uses: actions/cache/save@v4 with: path: ./stream_benchmark_out.txt - key: stream_benchmark_time + key: stream_benchmark_out ####################################### # TeaLeaf @@ -201,16 +201,16 @@ jobs: # check for previous time in cache - name: check for previous stream time in cache uses: actions/cache/restore@v4 - id: tealeaf_benchmark_time + id: tealeaf_benchmark_out with: path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_time + key: tealeaf_benchmark_out # run benchmark and output difference if there is any - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -224,7 +224,7 @@ jobs: echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.tealeaf_benchmark_time.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -237,4 +237,4 @@ jobs: uses: actions/cache/save@v4 with: path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_time \ No newline at end of file + key: tealeaf_benchmark_out \ No newline at end of file From 4841048ac3bb586a980f78db7abd1c7b89136e8c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 20:06:49 +0100 Subject: [PATCH 034/254] testing benchmark regression --- .github/workflows/PERFORMANCE_REGRESSION.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 87cb7e728c..e0ccb0db3d 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -79,6 +79,7 @@ jobs: shell: bash run: | if [[ ${{ steps.cloverleaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + echo hello previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" From 0f3b97e6557cceeb101157e44336896b7863a7fe Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 20:31:36 +0100 Subject: [PATCH 035/254] changing cache step id --- .github/workflows/PERFORMANCE_REGRESSION.yml | 28 +++++++++++--------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index e0ccb0db3d..b744e20bb0 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -69,7 +69,7 @@ jobs: # check for previous time in cache - name: check for previous cloverleaf time in cache uses: actions/cache/restore@v4 - id: cloverleaf_benchmark_out + id: cloverleaf_restore with: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out @@ -78,7 +78,7 @@ jobs: - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.cloverleaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then echo hello previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else @@ -93,7 +93,7 @@ jobs: echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.cloverleaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -104,6 +104,7 @@ jobs: # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 + id: cloverleaf_save with: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out @@ -114,7 +115,7 @@ jobs: # check for previous time in cache - name: check for previous minibude time in cache uses: actions/cache/restore@v4 - id: miniBUDE_benchmark_out + id: miniBUDE_restore with: path: ./miniBUDE_benchmark_out.txt key: miniBUDE_benchmark_out @@ -123,7 +124,7 @@ jobs: - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.miniBUDE_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -137,7 +138,7 @@ jobs: echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.miniBUDE_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -148,6 +149,7 @@ jobs: # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 + id: miniBUDE_save with: path: ./miniBUDE_benchmark_out.txt key: miniBUDE_benchmark_out @@ -158,7 +160,7 @@ jobs: # check for previous time in cache - name: check for previous stream time in cache uses: actions/cache/restore@v4 - id: stream_benchmark_out + id: stream_restore with: path: ./stream_benchmark_out.txt key: stream_benchmark_out @@ -167,7 +169,7 @@ jobs: - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.stream_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -181,7 +183,7 @@ jobs: echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.stream_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -192,6 +194,7 @@ jobs: # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 + id: stream_save with: path: ./stream_benchmark_out.txt key: stream_benchmark_out @@ -202,7 +205,7 @@ jobs: # check for previous time in cache - name: check for previous stream time in cache uses: actions/cache/restore@v4 - id: tealeaf_benchmark_out + id: tealeaf_restore with: path: ./tealeaf_benchmark_out.txt key: tealeaf_benchmark_out @@ -211,7 +214,7 @@ jobs: - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.tealeaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -225,7 +228,7 @@ jobs: echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.tealeaf_benchmark_out.outputs.cache-hit == 'true' }} ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -236,6 +239,7 @@ jobs: # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 + id: tealeaf_save with: path: ./tealeaf_benchmark_out.txt key: tealeaf_benchmark_out \ No newline at end of file From c983bb8ede7c25e91dffddb975d9cf5dc670c583 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:00:06 +0100 Subject: [PATCH 036/254] adding extra == true statements to see if it changes things --- .github/workflows/PERFORMANCE_REGRESSION.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index b744e20bb0..11f91d32c3 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -78,7 +78,7 @@ jobs: - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then echo hello previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else @@ -93,7 +93,7 @@ jobs: echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -124,7 +124,7 @@ jobs: - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -138,7 +138,7 @@ jobs: echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -169,7 +169,7 @@ jobs: - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -183,7 +183,7 @@ jobs: echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" @@ -214,7 +214,7 @@ jobs: - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes shell: bash run: | - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -228,7 +228,7 @@ jobs: echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: ${current_time}ms" - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" From a88a2d7b7185dd5ca63789bb1800f52b51bc6fee Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:18:04 +0100 Subject: [PATCH 037/254] fixed paths for benchmark --- .github/workflows/PERFORMANCE_REGRESSION.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 11f91d32c3..6cf75e499c 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -85,7 +85,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt + simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -130,7 +130,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt + simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -175,7 +175,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt + simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -220,7 +220,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./SimEng/configs/a64fx.yaml ./SimEng/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt + simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') From 1d12ab522e12bc11a09c6a1b92800d675375c6b2 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 21:34:44 +0100 Subject: [PATCH 038/254] fixed previous__time variable --- .github/workflows/PERFORMANCE_REGRESSION.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 6cf75e499c..c994d7cae2 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -98,7 +98,7 @@ jobs: echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" else - echo $(previous_time) + echo $previous_time fi # always overwrite previous time @@ -143,7 +143,7 @@ jobs: echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" else - echo $(previous_time) + echo $previous_time fi # always overwrite previous time @@ -188,7 +188,7 @@ jobs: echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" else - echo $(previous_time) + echo $previous_time fi # always overwrite previous time @@ -233,7 +233,7 @@ jobs: echo "Previous Time: ${previous_time}ms" echo "Absolute Difference: ${difference#-}ms" else - echo $(previous_time) + echo $previous_time fi # always overwrite previous time From adf0bab77784ecabd712367600efb903227330a2 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 7 Aug 2024 22:45:17 +0100 Subject: [PATCH 039/254] testing difference --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index c994d7cae2..f6be0a864b 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -235,7 +235,7 @@ jobs: else echo $previous_time fi - + # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 From 0f566894a3a58fb7e5123166deb967cb49599c2c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 01:16:29 +0100 Subject: [PATCH 040/254] adding summary step --- .github/workflows/PERFORMANCE_REGRESSION.yml | 125 ++++++++++--------- 1 file changed, 67 insertions(+), 58 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index f6be0a864b..5d18c4dc44 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -66,7 +66,6 @@ jobs: ####################################### # Cloverleaf ####################################### - # check for previous time in cache - name: check for previous cloverleaf time in cache uses: actions/cache/restore@v4 id: cloverleaf_restore @@ -74,12 +73,11 @@ jobs: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out - # run benchmark and output difference if there is any - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes + id: cloverleaf_run shell: bash run: | - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - echo hello + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -88,23 +86,19 @@ jobs: simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "#############################################" - echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: ${current_time}ms" - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + echo "CLOVERLEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + echo "CLOVERLEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) - echo "Previous Time: ${previous_time}ms" - echo "Absolute Difference: ${difference#-}ms" + echo "CLOVERLEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else - echo $previous_time + echo "CLOVERLEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - # always overwrite previous time + - name: store benchmark output into cache uses: actions/cache/save@v4 - id: cloverleaf_save with: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out @@ -112,7 +106,6 @@ jobs: ####################################### # miniBUDE ####################################### - # check for previous time in cache - name: check for previous minibude time in cache uses: actions/cache/restore@v4 id: miniBUDE_restore @@ -120,11 +113,11 @@ jobs: path: ./miniBUDE_benchmark_out.txt key: miniBUDE_benchmark_out - # run benchmark and output difference if there is any - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes + id: minibude_run shell: bash run: | - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -133,23 +126,19 @@ jobs: simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "#############################################" - echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" - echo "Current Time: ${current_time}ms" - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + echo "MINIBUDE_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + echo "MINIBUDE_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) - echo "Previous Time: ${previous_time}ms" - echo "Absolute Difference: ${difference#-}ms" + echo "MINIBUDE_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else - echo $previous_time + echo "MINIBUDE_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - # always overwrite previous time + - name: store benchmark output into cache uses: actions/cache/save@v4 - id: miniBUDE_save with: path: ./miniBUDE_benchmark_out.txt key: miniBUDE_benchmark_out @@ -157,7 +146,6 @@ jobs: ####################################### # STREAM ####################################### - # check for previous time in cache - name: check for previous stream time in cache uses: actions/cache/restore@v4 id: stream_restore @@ -165,11 +153,11 @@ jobs: path: ./stream_benchmark_out.txt key: stream_benchmark_out - # run benchmark and output difference if there is any - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes + id: stream_run shell: bash run: | - if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -178,23 +166,19 @@ jobs: simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "#############################################" - echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" - echo "Current Time: ${current_time}ms" - if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + echo "STREAM_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + echo "STREAM_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) - echo "Previous Time: ${previous_time}ms" - echo "Absolute Difference: ${difference#-}ms" + echo "STREAM_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else - echo $previous_time + echo "STREAM_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - # always overwrite previous time + - name: store benchmark output into cache uses: actions/cache/save@v4 - id: stream_save with: path: ./stream_benchmark_out.txt key: stream_benchmark_out @@ -202,19 +186,18 @@ jobs: ####################################### # TeaLeaf ####################################### - # check for previous time in cache - - name: check for previous stream time in cache + - name: check for previous tealeaf time in cache uses: actions/cache/restore@v4 id: tealeaf_restore with: path: ./tealeaf_benchmark_out.txt key: tealeaf_benchmark_out - # run benchmark and output difference if there is any - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes + id: tealeaf_run shell: bash run: | - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -223,23 +206,49 @@ jobs: simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "#############################################" - echo "TeaLeaf (tealeaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: ${current_time}ms" - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + echo "TEALEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + echo "TEALEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then difference=$((current_time-previous_time)) - echo "Previous Time: ${previous_time}ms" - echo "Absolute Difference: ${difference#-}ms" + echo "TEALEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else - echo $previous_time + echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - # always overwrite previous time - name: store benchmark output into cache uses: actions/cache/save@v4 - id: tealeaf_save with: path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_out \ No newline at end of file + key: tealeaf_benchmark_out + + ####################################### + # Summary + ####################################### + - name: Summary + shell: bash + run: | + echo "#############################################" + echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" + echo "Current Time: $CLOVERLEAF_CURRENT_TIME ms" + echo "Previous Time: $CLOVERLEAF_PREVIOUS_TIME ms" + echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE ms" + + echo "#############################################" + echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" + echo "Current Time: $MINIBUDE_CURRENT_TIME ms" + echo "Previous Time: $MINIBUDE_PREVIOUS_TIME ms" + echo "Absolute Difference: $MINIBUDE_DIFFERENCE ms" + + echo "#############################################" + echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" + echo "Current Time: $STREAM_CURRENT_TIME ms" + echo "Previous Time: $STREAM_PREVIOUS_TIME ms" + echo "Absolute Difference: $STREAM_DIFFERENCE ms" + + echo "#############################################" + echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" + echo "Current Time: $TEALEAF_CURRENT_TIME ms" + echo "Previous Time: $TEALEAF_PREVIOUS_TIME ms" + echo "Absolute Difference: $TEALEAF_DIFFERENCE ms" \ No newline at end of file From 2788862e2ccabda07a938cdd8a7182c28da83aa4 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 13:40:49 +0100 Subject: [PATCH 041/254] added deletion of caches step --- .github/actions/simeng_benchmarks/action.yml | 2 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 25 ++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 537d439121..87f791223c 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -15,7 +15,7 @@ runs: ################################## # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSs that have differening node versions - # NOTE: will probably have to update due to node depreciation and node 20 being enforced and requiring glibc 2.28 + - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 5d18c4dc44..4491f66617 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -111,7 +111,7 @@ jobs: id: miniBUDE_restore with: path: ./miniBUDE_benchmark_out.txt - key: miniBUDE_benchmark_out + key: minibude_benchmark_out - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes id: minibude_run @@ -141,7 +141,7 @@ jobs: uses: actions/cache/save@v4 with: path: ./miniBUDE_benchmark_out.txt - key: miniBUDE_benchmark_out + key: minibude_benchmark_out ####################################### # STREAM @@ -217,6 +217,27 @@ jobs: echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi + - name: delete previous caches if possible + shell: bash + run: | + apt install -y gh + + caches=( + cloverleaf_benchmark_out + tealeaf_benchmark_out + stream_benchmark_out + minibude_benchmark_out + ) + + set +e + echo "Deleting caches..." + for cache in "${caches[@]}"; do + gh actions-cache delete $cacheKey --confirm + done + echo "Done" + env: + GH_TOKEN: ${{ env.PAT }} + - name: store benchmark output into cache uses: actions/cache/save@v4 with: From 0fc3e8bb69c68a0a53c8b3e0f71f26277785b2a4 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:34:42 +0100 Subject: [PATCH 042/254] added update before gh install line --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 4491f66617..ecb4802e4b 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -220,7 +220,7 @@ jobs: - name: delete previous caches if possible shell: bash run: | - apt install -y gh + apt update && apt install -y gh && apt upgrade -y caches=( cloverleaf_benchmark_out From 7f84dee48d1168dc6d92c855e2298970b309b0cf Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 15:58:07 +0100 Subject: [PATCH 043/254] added keyring for gh --- .github/workflows/PERFORMANCE_REGRESSION.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index ecb4802e4b..0d58f7903a 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -220,6 +220,13 @@ jobs: - name: delete previous caches if possible shell: bash run: | + sudo mkdir -p -m 755 /etc/apt/keyrings \ + && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ + && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && sudo apt update \ + && sudo apt install gh -y + apt update && apt install -y gh && apt upgrade -y caches=( From 60501fb54243d0781a08714ee2d2bba5184f3175 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 16:20:14 +0100 Subject: [PATCH 044/254] added extension gh-actions-cache --- .github/workflows/PERFORMANCE_REGRESSION.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 0d58f7903a..e4ee05b6ec 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -227,7 +227,8 @@ jobs: && sudo apt update \ && sudo apt install gh -y - apt update && apt install -y gh && apt upgrade -y + apt update && apt install -y gh && apt upgrade -y + gh extension install actions/gh-actions-cache caches=( cloverleaf_benchmark_out From 2d3f7a340bfe7ee9d5f7b9fe105b90c47b26aef1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 16:37:54 +0100 Subject: [PATCH 045/254] removed confirm flag --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index e4ee05b6ec..494e681f48 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -240,7 +240,7 @@ jobs: set +e echo "Deleting caches..." for cache in "${caches[@]}"; do - gh actions-cache delete $cacheKey --confirm + gh actions-cache delete $cacheKey done echo "Done" env: From 5a7c39f85515c53d740a8b30ad0e4cea4f692169 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 16:51:44 +0100 Subject: [PATCH 046/254] fixed typo --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 494e681f48..4d6ac28fb5 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -240,7 +240,7 @@ jobs: set +e echo "Deleting caches..." for cache in "${caches[@]}"; do - gh actions-cache delete $cacheKey + gh actions-cache delete $cache done echo "Done" env: From 717d7b703817fd9a24a0831483a5b0afc6336a36 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:31:55 +0100 Subject: [PATCH 047/254] trouble shooting gh error --- .github/workflows/PERFORMANCE_REGRESSION.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 4d6ac28fb5..e6a4325179 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -237,10 +237,13 @@ jobs: minibude_benchmark_out ) + pwd + git status + set +e echo "Deleting caches..." for cache in "${caches[@]}"; do - gh actions-cache delete $cache + gh actions-cache delete $cache --confirm done echo "Done" env: From 3c73032e7795f51e748078cb3fef21eff952c0d8 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:51:54 +0100 Subject: [PATCH 048/254] trouble shooting gh error --- .github/workflows/PERFORMANCE_REGRESSION.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index e6a4325179..6b21f2243c 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -236,9 +236,11 @@ jobs: stream_benchmark_out minibude_benchmark_out ) - + echo "###################" pwd + ls git status + echo "###################" set +e echo "Deleting caches..." From 0b2922c352d23b50eb9afd0876d3a6789de56f29 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:19:07 +0100 Subject: [PATCH 049/254] swapping pat for gh token --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 6b21f2243c..3284b68142 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -249,7 +249,7 @@ jobs: done echo "Done" env: - GH_TOKEN: ${{ env.PAT }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: store benchmark output into cache uses: actions/cache/save@v4 From 56b548e66577dfcd4fad7e1e920b7ade0a987794 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:20:56 +0100 Subject: [PATCH 050/254] removed container --- .github/workflows/PERFORMANCE_REGRESSION.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 3284b68142..7a2c0290ee 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -14,9 +14,6 @@ on: jobs: Build_and_Run: runs-on: ubuntu-latest - - container: - image: ubuntu:20.04 steps: ####################################### From 5922651322edbea8fe8e9b05b764a0456a648c95 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:26:45 +0100 Subject: [PATCH 051/254] added sudo --- .github/actions/setup_deps/action.yml | 2 +- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index 8778650a12..f5c3eab4de 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -45,7 +45,7 @@ runs: apt-get update # Upgrade all installed packages - apt-get upgrade -y + sudo apt-get upgrade -y ####################################### # Debian Dependencies diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index fac8cc7a5d..06e9cdbee9 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -39,7 +39,7 @@ runs: run: | apt-get -y install ${{ inputs.gcc-version }} apt-get -y install g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) - apt update && apt upgrade -y + apt update && sudo apt upgrade -y ####################################### # Build SimEng without llvm or ninja From 8ba4dbe18c1fd3ce3fb9956598d9158c49223ca5 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:33:30 +0100 Subject: [PATCH 052/254] skipping installing deps --- .github/actions/setup_deps/action.yml | 2 +- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 35 ++++++++++++++++---- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index f5c3eab4de..8778650a12 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -45,7 +45,7 @@ runs: apt-get update # Upgrade all installed packages - sudo apt-get upgrade -y + apt-get upgrade -y ####################################### # Debian Dependencies diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 06e9cdbee9..fac8cc7a5d 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -39,7 +39,7 @@ runs: run: | apt-get -y install ${{ inputs.gcc-version }} apt-get -y install g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) - apt update && sudo apt upgrade -y + apt update && apt upgrade -y ####################################### # Build SimEng without llvm or ninja diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 7a2c0290ee..e3a92625cb 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -22,15 +22,38 @@ jobs: - name: checkout v4 uses: actions/checkout@v4 + # ####################################### + # # install compiler and build SimEng + # ####################################### + # - name: setup compiler and OS env + build simeng + # uses: ./.github/actions/select_env + # with: + # LLVM-VERSION: ${{ env.LLVM-VERSION }} + # OS: ubuntu:20.04 + # COMPILER: gcc-10 ####################################### # install compiler and build SimEng ####################################### - - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env - with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: ubuntu:20.04 - COMPILER: gcc-10 + - name: install gcc + shell: bash + run: | + apt-get -y install gcc-10 + apt-get -y install g++-10 + apt update && apt upgrade -y + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + + cmake --build build -j $(nproc) + + cmake --build build --target install + + echo "GCC_DIR=/usr/bin/gcc-10" >> $GITHUB_ENV + echo "CPP_DIR=/usr/bin/g++-10" >> $GITHUB_ENV ####################################### # Prints out info in isolated step for easy access. From 2364a65998db0de78f0e34703fd8beb5e2349638 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:35:10 +0100 Subject: [PATCH 053/254] added python and sudo --- .github/workflows/PERFORMANCE_REGRESSION.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index e3a92625cb..286b9a410d 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -34,12 +34,12 @@ jobs: ####################################### # install compiler and build SimEng ####################################### - - name: install gcc + - name: install deps shell: bash run: | - apt-get -y install gcc-10 - apt-get -y install g++-10 - apt update && apt upgrade -y + sudo apt-get -y install gcc-10 g++-10 pip + pip install pyparsing + sudo apt update && sudo apt upgrade -y ####################################### # Build SimEng without llvm or ninja ####################################### From 540a08a8e8f294365f09f558c4409ce9cd59402d Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:37:12 +0100 Subject: [PATCH 054/254] swapped out missing vars --- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 286b9a410d..8ee40eab23 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -46,7 +46,7 @@ jobs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 cmake --build build -j $(nproc) From 567f036edcb8086dd20cbcdb03ad792988ca4419 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:53:23 +0100 Subject: [PATCH 055/254] added sudo when building simeng --- .github/workflows/PERFORMANCE_REGRESSION.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 8ee40eab23..49f0a1c86e 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -46,11 +46,11 @@ jobs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 + sudo cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 - cmake --build build -j $(nproc) + sudo cmake --build build -j $(nproc) - cmake --build build --target install + sudo cmake --build build --target install echo "GCC_DIR=/usr/bin/gcc-10" >> $GITHUB_ENV echo "CPP_DIR=/usr/bin/g++-10" >> $GITHUB_ENV From 2a264fa5e957aa12d6095ce7dd55b1198e740e12 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 19:12:16 +0100 Subject: [PATCH 056/254] added back in extra true equality check --- .github/workflows/PERFORMANCE_REGRESSION.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 49f0a1c86e..1b46aaa166 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -97,7 +97,7 @@ jobs: id: cloverleaf_run shell: bash run: | - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -110,7 +110,7 @@ jobs: echo "CLOVERLEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV echo "CLOVERLEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "CLOVERLEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else @@ -137,7 +137,7 @@ jobs: id: minibude_run shell: bash run: | - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -150,7 +150,7 @@ jobs: echo "MINIBUDE_CURRENT_TIME=${current_time}" >> $GITHUB_ENV echo "MINIBUDE_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "MINIBUDE_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else @@ -177,7 +177,7 @@ jobs: id: stream_run shell: bash run: | - if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -190,7 +190,7 @@ jobs: echo "STREAM_CURRENT_TIME=${current_time}" >> $GITHUB_ENV echo "STREAM_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - if [[ ${{ steps.stream_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "STREAM_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else @@ -217,7 +217,7 @@ jobs: id: tealeaf_run shell: bash run: | - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -230,7 +230,7 @@ jobs: echo "TEALEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV echo "TEALEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit }} == 'true' ]]; then + if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "TEALEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV else From deb3450b830e5a2a4fdab26398674b36ff89ea9e Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 19:26:00 +0100 Subject: [PATCH 057/254] added sudo to running individual benchmarks --- .github/workflows/PERFORMANCE_REGRESSION.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 1b46aaa166..379314f7a9 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -103,7 +103,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt + sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -143,7 +143,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt + sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -183,7 +183,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt + sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -223,7 +223,7 @@ jobs: previous_time="No Previous Time" fi - simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt + sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') @@ -247,7 +247,7 @@ jobs: && sudo apt update \ && sudo apt install gh -y - apt update && apt install -y gh && apt upgrade -y + sudo apt update && sudo apt install -y gh && sudo apt upgrade -y gh extension install actions/gh-actions-cache caches=( From 54f50833b4ee7413fd7e12dd7bc93b023e1fb63c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 19:40:07 +0100 Subject: [PATCH 058/254] testing out not updating packages --- .github/workflows/PERFORMANCE_REGRESSION.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 379314f7a9..83b6a19f59 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -34,18 +34,19 @@ jobs: ####################################### # install compiler and build SimEng ####################################### - - name: install deps - shell: bash - run: | - sudo apt-get -y install gcc-10 g++-10 pip - pip install pyparsing - sudo apt update && sudo apt upgrade -y + # - name: install deps + # shell: bash + # run: | + # sudo apt-get -y install gcc-10 g++-10 pip + # pip install pyparsing + # sudo apt update && sudo apt upgrade -y ####################################### # Build SimEng without llvm or ninja ####################################### - name: Build SimEng shell: bash run: | + pip install pyparsing sudo cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 sudo cmake --build build -j $(nproc) @@ -237,7 +238,7 @@ jobs: echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - name: delete previous caches if possible + - name: Delete previous benchmark time caches shell: bash run: | sudo mkdir -p -m 755 /etc/apt/keyrings \ @@ -256,11 +257,6 @@ jobs: stream_benchmark_out minibude_benchmark_out ) - echo "###################" - pwd - ls - git status - echo "###################" set +e echo "Deleting caches..." From 6698980d5c252757b32d527303ba161bd50c01ad Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:06:28 +0100 Subject: [PATCH 059/254] reordered saving after deletion --- .github/workflows/PERFORMANCE_REGRESSION.yml | 67 ++++++++------------ 1 file changed, 28 insertions(+), 39 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 83b6a19f59..6dbcbe48a5 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -22,25 +22,11 @@ jobs: - name: checkout v4 uses: actions/checkout@v4 - # ####################################### - # # install compiler and build SimEng - # ####################################### - # - name: setup compiler and OS env + build simeng - # uses: ./.github/actions/select_env - # with: - # LLVM-VERSION: ${{ env.LLVM-VERSION }} - # OS: ubuntu:20.04 - # COMPILER: gcc-10 - ####################################### - # install compiler and build SimEng + - name: install deps + shell: bash + run: | + sudo apt-get -y install gcc-10 g++-10 pip ####################################### - # - name: install deps - # shell: bash - # run: | - # sudo apt-get -y install gcc-10 g++-10 pip - # pip install pyparsing - # sudo apt update && sudo apt upgrade -y - ####################################### # Build SimEng without llvm or ninja ####################################### - name: Build SimEng @@ -118,12 +104,6 @@ jobs: echo "CLOVERLEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - name: store benchmark output into cache - uses: actions/cache/save@v4 - with: - path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_out - ####################################### # miniBUDE ####################################### @@ -158,12 +138,6 @@ jobs: echo "MINIBUDE_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - name: store benchmark output into cache - uses: actions/cache/save@v4 - with: - path: ./miniBUDE_benchmark_out.txt - key: minibude_benchmark_out - ####################################### # STREAM ####################################### @@ -198,12 +172,6 @@ jobs: echo "STREAM_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - - name: store benchmark output into cache - uses: actions/cache/save@v4 - with: - path: ./stream_benchmark_out.txt - key: stream_benchmark_out - ####################################### # TeaLeaf ####################################### @@ -237,7 +205,10 @@ jobs: else echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV fi - + + ####################################### + # Delete Previous benchmark times and replace with new times + ####################################### - name: Delete previous benchmark time caches shell: bash run: | @@ -253,9 +224,9 @@ jobs: caches=( cloverleaf_benchmark_out - tealeaf_benchmark_out - stream_benchmark_out minibude_benchmark_out + stream_benchmark_out + tealeaf_benchmark_out ) set +e @@ -267,6 +238,24 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./cloverleaf_benchmark_out.txt + key: cloverleaf_benchmark_out + + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./miniBUDE_benchmark_out.txt + key: minibude_benchmark_out + + - name: store benchmark output into cache + uses: actions/cache/save@v4 + with: + path: ./stream_benchmark_out.txt + key: stream_benchmark_out + - name: store benchmark output into cache uses: actions/cache/save@v4 with: From 3c1f50e7359a2020b464b80e1f3c9a850b9c27ea Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:37:01 +0100 Subject: [PATCH 060/254] removed useless env var --- .github/workflows/PERFORMANCE_REGRESSION.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 6dbcbe48a5..80cffec4c1 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -2,7 +2,6 @@ name: PERFORMANCE_REGRESSION env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} From cfff2aa7c34c08f3577aed24d8f56938600a2a14 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:07:34 +0100 Subject: [PATCH 061/254] created action for performance regression workflow to reduce duplicate code --- .../run_indiviudal_benchmark/action.yml | 55 +++ .github/workflows/PERFORMANCE_REGRESSION.yml | 315 ++++++++++-------- 2 files changed, 232 insertions(+), 138 deletions(-) create mode 100644 .github/actions/run_indiviudal_benchmark/action.yml diff --git a/.github/actions/run_indiviudal_benchmark/action.yml b/.github/actions/run_indiviudal_benchmark/action.yml new file mode 100644 index 0000000000..077ff9952e --- /dev/null +++ b/.github/actions/run_indiviudal_benchmark/action.yml @@ -0,0 +1,55 @@ +name: Run Indiviudal Benchmark +description: runs individual benchmark based on inputs provided + +inputs: + benchmark_suite_name: + required: true + description: e.g. cloverleaf, tealeaf, stream, bude + + benchmark_path: + required: true + description: e.g. ./simeng-benchmarks/binaries/... + + output_file: + required: true + description: The benchmark suit name in lowercase followed by _benchmark_out + +runs: + using: 'composite' + steps: + ########################################## + # Check cache for cached benchmark outputs + ########################################## + - name: check for previous benchmark output in cache + uses: actions/cache/restore@v4 + id: ${{ inputs.benchmark_suite_name }}_restore + with: + path: ./${{ inputs.output_file }} + key: ${{ inputs.output_file }} + + ################################################################## + # run individual benchmark + calculate and store into env variable + ################################################################## + - name: run benchmark & compare runtimes + id: ${{ inputs.benchmark_suite_name }}_run + shell: bash + run: | + if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + previous_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} + + current_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + + echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV + + if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV + else + echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + fi \ No newline at end of file diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 80cffec4c1..1351e32115 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -69,141 +69,180 @@ jobs: token: ${{ env.PAT }} path: simeng-benchmarks - ####################################### - # Cloverleaf - ####################################### - - name: check for previous cloverleaf time in cache - uses: actions/cache/restore@v4 - id: cloverleaf_restore - with: - path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_out + # ####################################### + # # Cloverleaf + # ####################################### + # - name: check for previous cloverleaf time in cache + # uses: actions/cache/restore@v4 + # id: cloverleaf_restore + # with: + # path: ./cloverleaf_benchmark_out.txt + # key: cloverleaf_benchmark_out - - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes - id: cloverleaf_run - shell: bash - run: | - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt + # - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes + # id: cloverleaf_run + # shell: bash + # run: | + # if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + # else + # previous_time="No Previous Time" + # fi + + # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt + + # current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + # echo "CLOVERLEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + # echo "CLOVERLEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + # if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # difference=$((current_time-previous_time)) + # echo "CLOVERLEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV + # else + # echo "CLOVERLEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + # fi + + # ####################################### + # # miniBUDE + # ####################################### + # - name: check for previous minibude time in cache + # uses: actions/cache/restore@v4 + # id: miniBUDE_restore + # with: + # path: ./miniBUDE_benchmark_out.txt + # key: minibude_benchmark_out + + # - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes + # id: minibude_run + # shell: bash + # run: | + # if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + # else + # previous_time="No Previous Time" + # fi + + # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt + + # current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + # echo "MINIBUDE_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + # echo "MINIBUDE_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + # if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # difference=$((current_time-previous_time)) + # echo "MINIBUDE_DIFFERENCE=${difference#-}" >> $GITHUB_ENV + # else + # echo "MINIBUDE_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + # fi + + # ####################################### + # # STREAM + # ####################################### + # - name: check for previous stream time in cache + # uses: actions/cache/restore@v4 + # id: stream_restore + # with: + # path: ./stream_benchmark_out.txt + # key: stream_benchmark_out + + # - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes + # id: stream_run + # shell: bash + # run: | + # if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + # else + # previous_time="No Previous Time" + # fi + + # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt + + # current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + + # echo "STREAM_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + # echo "STREAM_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + + # if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # difference=$((current_time-previous_time)) + # echo "STREAM_DIFFERENCE=${difference#-}" >> $GITHUB_ENV + # else + # echo "STREAM_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + # fi + + # ####################################### + # # TeaLeaf + # ####################################### + # - name: check for previous tealeaf time in cache + # uses: actions/cache/restore@v4 + # id: tealeaf_restore + # with: + # path: ./tealeaf_benchmark_out.txt + # key: tealeaf_benchmark_out + + # - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes + # id: tealeaf_run + # shell: bash + # run: | + # if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + # else + # previous_time="No Previous Time" + # fi + + # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt - current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') + # current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - echo "CLOVERLEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - echo "CLOVERLEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + # echo "TEALEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + # echo "TEALEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "CLOVERLEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - else - echo "CLOVERLEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi + # if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + # difference=$((current_time-previous_time)) + # echo "TEALEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV + # else + # echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + # fi + + ####################################### + # Cloverleaf + ####################################### + - name: run cloverleaf benchmark + uses: ./.github/run_individual_benchmark + with: + benchmark_suite_name: 'CLOVERLEAF' + benchmark_path: ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve + output_file: cloverleaf_benchmark_out.txt ####################################### # miniBUDE ####################################### - - name: check for previous minibude time in cache - uses: actions/cache/restore@v4 - id: miniBUDE_restore + - name: run miniBUDE benchmark + uses: ./.github/run_individual_benchmark with: - path: ./miniBUDE_benchmark_out.txt - key: minibude_benchmark_out - - - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes - id: minibude_run - shell: bash - run: | - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt - - current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "MINIBUDE_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - echo "MINIBUDE_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "MINIBUDE_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - else - echo "MINIBUDE_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi - + benchmark_suite_name: 'MINIBUDE' + benchmark_path: ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve + output_file: minibude_benchmark_out.txt ####################################### # STREAM ####################################### - - name: check for previous stream time in cache - uses: actions/cache/restore@v4 - id: stream_restore + - name: run stream benchmark + uses: ./.github/run_individual_benchmark with: - path: ./stream_benchmark_out.txt - key: stream_benchmark_out - - - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes - id: stream_run - shell: bash - run: | - if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt - - current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "STREAM_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - echo "STREAM_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "STREAM_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - else - echo "STREAM_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi - + benchmark_suite_name: 'STREAM' + benchmark_path: ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve + output_file: stream_benchmark_out.txt ####################################### # TeaLeaf ####################################### - - name: check for previous tealeaf time in cache - uses: actions/cache/restore@v4 - id: tealeaf_restore + - name: run TeaLeaf benchmark + uses: ./.github/run_individual_benchmark with: - path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_out + benchmark_suite_name: 'TEALEAF' + benchmark_path: ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve + output_file: tealeaf_benchmark_out.txt - - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes - id: tealeaf_run - shell: bash - run: | - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt - - current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - echo "TEALEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - echo "TEALEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "TEALEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - else - echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi ####################################### # Delete Previous benchmark times and replace with new times @@ -222,10 +261,10 @@ jobs: gh extension install actions/gh-actions-cache caches=( - cloverleaf_benchmark_out - minibude_benchmark_out - stream_benchmark_out - tealeaf_benchmark_out + cloverleaf_benchmark_out.txt + minibude_benchmark_out.txt + stream_benchmark_out.txt + tealeaf_benchmark_out.txt ) set +e @@ -234,32 +273,32 @@ jobs: gh actions-cache delete $cache --confirm done echo "Done" - env: + env: # environement variable scoped to this GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: store benchmark output into cache uses: actions/cache/save@v4 with: path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_out + key: cloverleaf_benchmark_out.txt - name: store benchmark output into cache uses: actions/cache/save@v4 with: path: ./miniBUDE_benchmark_out.txt - key: minibude_benchmark_out + key: minibude_benchmark_out.txt - name: store benchmark output into cache uses: actions/cache/save@v4 with: path: ./stream_benchmark_out.txt - key: stream_benchmark_out + key: stream_benchmark_out.txt - name: store benchmark output into cache uses: actions/cache/save@v4 with: path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_out + key: tealeaf_benchmark_out.txt ####################################### # Summary @@ -269,24 +308,24 @@ jobs: run: | echo "#############################################" echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $CLOVERLEAF_CURRENT_TIME ms" - echo "Previous Time: $CLOVERLEAF_PREVIOUS_TIME ms" - echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE ms" + echo "Current Time: $CLOVERLEAF_CURRENT_TIME" + echo "Previous Time: $CLOVERLEAF_PREVIOUS_TIME" + echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE" echo "#############################################" echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $MINIBUDE_CURRENT_TIME ms" - echo "Previous Time: $MINIBUDE_PREVIOUS_TIME ms" - echo "Absolute Difference: $MINIBUDE_DIFFERENCE ms" + echo "Current Time: $MINIBUDE_CURRENT_TIME" + echo "Previous Time: $MINIBUDE_PREVIOUS_TIME" + echo "Absolute Difference: $MINIBUDE_DIFFERENCE" echo "#############################################" echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $STREAM_CURRENT_TIME ms" - echo "Previous Time: $STREAM_PREVIOUS_TIME ms" - echo "Absolute Difference: $STREAM_DIFFERENCE ms" + echo "Current Time: $STREAM_CURRENT_TIME" + echo "Previous Time: $STREAM_PREVIOUS_TIME" + echo "Absolute Difference: $STREAM_DIFFERENC" echo "#############################################" echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $TEALEAF_CURRENT_TIME ms" - echo "Previous Time: $TEALEAF_PREVIOUS_TIME ms" - echo "Absolute Difference: $TEALEAF_DIFFERENCE ms" \ No newline at end of file + echo "Current Time: $TEALEAF_CURRENT_TIME" + echo "Previous Time: $TEALEAF_PREVIOUS_TIME" + echo "Absolute Difference: $TEALEAF_DIFFERENCE" \ No newline at end of file From 55a7a6f3933654e0b234728e461b493d1c2ea672 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:21:41 +0100 Subject: [PATCH 062/254] fixed action path --- .github/workflows/OS_BUILD_TEST.yml | 2 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index dec23ae494..abf1f7ad59 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -69,7 +69,7 @@ jobs: steps: ####################################### - # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version) + # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version i.e. use older checkout version) ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 1351e32115..ea12ff153d 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -57,6 +57,7 @@ jobs: "${{ env.CPP_DIR }}" --version which g++ echo "_______________________________________" + ls ####################################### # Checkout simeng-benchmark repository @@ -209,7 +210,7 @@ jobs: # Cloverleaf ####################################### - name: run cloverleaf benchmark - uses: ./.github/run_individual_benchmark + uses: ./.github/actions.run_individual_benchmark with: benchmark_suite_name: 'CLOVERLEAF' benchmark_path: ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve @@ -219,7 +220,7 @@ jobs: # miniBUDE ####################################### - name: run miniBUDE benchmark - uses: ./.github/run_individual_benchmark + uses: ./.github/actions.run_individual_benchmark with: benchmark_suite_name: 'MINIBUDE' benchmark_path: ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve @@ -228,7 +229,7 @@ jobs: # STREAM ####################################### - name: run stream benchmark - uses: ./.github/run_individual_benchmark + uses: ./.github/actions.run_individual_benchmark with: benchmark_suite_name: 'STREAM' benchmark_path: ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve @@ -237,7 +238,7 @@ jobs: # TeaLeaf ####################################### - name: run TeaLeaf benchmark - uses: ./.github/run_individual_benchmark + uses: ./.github/actions.run_individual_benchmark with: benchmark_suite_name: 'TEALEAF' benchmark_path: ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve From 7465caf8b2fb283c788b74e2b6c74f0fd0c2a94e Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:40:31 +0100 Subject: [PATCH 063/254] fixed typo --- .github/workflows/PERFORMANCE_REGRESSION.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index ea12ff153d..72fcaf93aa 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -210,7 +210,7 @@ jobs: # Cloverleaf ####################################### - name: run cloverleaf benchmark - uses: ./.github/actions.run_individual_benchmark + uses: ./.github/actions/run_individual_benchmark with: benchmark_suite_name: 'CLOVERLEAF' benchmark_path: ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve @@ -220,7 +220,7 @@ jobs: # miniBUDE ####################################### - name: run miniBUDE benchmark - uses: ./.github/actions.run_individual_benchmark + uses: ./.github/actions/run_individual_benchmark with: benchmark_suite_name: 'MINIBUDE' benchmark_path: ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve @@ -229,7 +229,7 @@ jobs: # STREAM ####################################### - name: run stream benchmark - uses: ./.github/actions.run_individual_benchmark + uses: ./.github/actions/run_individual_benchmark with: benchmark_suite_name: 'STREAM' benchmark_path: ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve @@ -238,7 +238,7 @@ jobs: # TeaLeaf ####################################### - name: run TeaLeaf benchmark - uses: ./.github/actions.run_individual_benchmark + uses: ./.github/actions/run_individual_benchmark with: benchmark_suite_name: 'TEALEAF' benchmark_path: ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve From 180b451c75e00fd4b1a845490b622ac307b4ce9b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:57:11 +0100 Subject: [PATCH 064/254] fixed typo --- .../run_indiviudal_benchmark/action.yml | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 .github/actions/run_indiviudal_benchmark/action.yml diff --git a/.github/actions/run_indiviudal_benchmark/action.yml b/.github/actions/run_indiviudal_benchmark/action.yml deleted file mode 100644 index 077ff9952e..0000000000 --- a/.github/actions/run_indiviudal_benchmark/action.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Run Indiviudal Benchmark -description: runs individual benchmark based on inputs provided - -inputs: - benchmark_suite_name: - required: true - description: e.g. cloverleaf, tealeaf, stream, bude - - benchmark_path: - required: true - description: e.g. ./simeng-benchmarks/binaries/... - - output_file: - required: true - description: The benchmark suit name in lowercase followed by _benchmark_out - -runs: - using: 'composite' - steps: - ########################################## - # Check cache for cached benchmark outputs - ########################################## - - name: check for previous benchmark output in cache - uses: actions/cache/restore@v4 - id: ${{ inputs.benchmark_suite_name }}_restore - with: - path: ./${{ inputs.output_file }} - key: ${{ inputs.output_file }} - - ################################################################## - # run individual benchmark + calculate and store into env variable - ################################################################## - - name: run benchmark & compare runtimes - id: ${{ inputs.benchmark_suite_name }}_run - shell: bash - run: | - if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} - - current_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') - - echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV - echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV - - if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV - else - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi \ No newline at end of file From ca08b810b1a6a9191d81305dcb615404c0d0623c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:57:36 +0100 Subject: [PATCH 065/254] added renamed file --- .../run_individual_benchmark/action.yml | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/actions/run_individual_benchmark/action.yml diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml new file mode 100644 index 0000000000..077ff9952e --- /dev/null +++ b/.github/actions/run_individual_benchmark/action.yml @@ -0,0 +1,55 @@ +name: Run Indiviudal Benchmark +description: runs individual benchmark based on inputs provided + +inputs: + benchmark_suite_name: + required: true + description: e.g. cloverleaf, tealeaf, stream, bude + + benchmark_path: + required: true + description: e.g. ./simeng-benchmarks/binaries/... + + output_file: + required: true + description: The benchmark suit name in lowercase followed by _benchmark_out + +runs: + using: 'composite' + steps: + ########################################## + # Check cache for cached benchmark outputs + ########################################## + - name: check for previous benchmark output in cache + uses: actions/cache/restore@v4 + id: ${{ inputs.benchmark_suite_name }}_restore + with: + path: ./${{ inputs.output_file }} + key: ${{ inputs.output_file }} + + ################################################################## + # run individual benchmark + calculate and store into env variable + ################################################################## + - name: run benchmark & compare runtimes + id: ${{ inputs.benchmark_suite_name }}_run + shell: bash + run: | + if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + previous_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + else + previous_time="No Previous Time" + fi + + sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} + + current_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + + echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV + + if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + difference=$((current_time-previous_time)) + echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV + else + echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=No Previous Time" >> $GITHUB_ENV + fi \ No newline at end of file From dc6f1f1a2a8aa3320d648042b826e80c0ff78aa2 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:10:21 +0100 Subject: [PATCH 066/254] removed contex variables from cache step ids --- .github/actions/run_individual_benchmark/action.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml index 077ff9952e..f5e05bd4ea 100644 --- a/.github/actions/run_individual_benchmark/action.yml +++ b/.github/actions/run_individual_benchmark/action.yml @@ -22,7 +22,7 @@ runs: ########################################## - name: check for previous benchmark output in cache uses: actions/cache/restore@v4 - id: ${{ inputs.benchmark_suite_name }}_restore + id: benchmark_restore with: path: ./${{ inputs.output_file }} key: ${{ inputs.output_file }} @@ -31,10 +31,9 @@ runs: # run individual benchmark + calculate and store into env variable ################################################################## - name: run benchmark & compare runtimes - id: ${{ inputs.benchmark_suite_name }}_run shell: bash run: | - if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then previous_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') else previous_time="No Previous Time" @@ -47,7 +46,7 @@ runs: echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV - if [[ ${{ steps.${{ inputs.benchmark_suite_name }}_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then + if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV else From ef8e62847803843bdd81bc0b3221ef61b7ead18f Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:24:56 +0100 Subject: [PATCH 067/254] fixed minibude caching --- .github/actions/run_individual_benchmark/action.yml | 6 +++--- .github/workflows/PERFORMANCE_REGRESSION.yml | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml index f5e05bd4ea..b19dd683b4 100644 --- a/.github/actions/run_individual_benchmark/action.yml +++ b/.github/actions/run_individual_benchmark/action.yml @@ -27,9 +27,9 @@ runs: path: ./${{ inputs.output_file }} key: ${{ inputs.output_file }} - ################################################################## - # run individual benchmark + calculate and store into env variable - ################################################################## + ############################################################################ + # run individual benchmark + calculate and store into env variable via echo + ############################################################################ - name: run benchmark & compare runtimes shell: bash run: | diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 72fcaf93aa..4ceac99d04 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -255,8 +255,6 @@ jobs: && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ - && sudo apt update \ - && sudo apt install gh -y sudo apt update && sudo apt install -y gh && sudo apt upgrade -y gh extension install actions/gh-actions-cache @@ -286,7 +284,7 @@ jobs: - name: store benchmark output into cache uses: actions/cache/save@v4 with: - path: ./miniBUDE_benchmark_out.txt + path: ./minibude_benchmark_out.txt key: minibude_benchmark_out.txt - name: store benchmark output into cache From 398aaadb2949d6c7d63f05ddd91088cab824d3b5 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:41:14 +0100 Subject: [PATCH 068/254] fixed stream output variable typo and removed 'ms' after 'no previous time' message --- .github/actions/run_individual_benchmark/action.yml | 8 ++++---- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml index b19dd683b4..bfaa61793a 100644 --- a/.github/actions/run_individual_benchmark/action.yml +++ b/.github/actions/run_individual_benchmark/action.yml @@ -34,17 +34,17 @@ runs: shell: bash run: | if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + previous_time=" $(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') ms" else previous_time="No Previous Time" fi sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} - current_time=$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') + current_time="$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') ms" - echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV - echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time}" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 4ceac99d04..52baa64088 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -321,7 +321,7 @@ jobs: echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" echo "Current Time: $STREAM_CURRENT_TIME" echo "Previous Time: $STREAM_PREVIOUS_TIME" - echo "Absolute Difference: $STREAM_DIFFERENC" + echo "Absolute Difference: $STREAM_DIFFERENCE" echo "#############################################" echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" From be8328fc38c306a3a4842dd7036f6fb769f4164b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:57:23 +0100 Subject: [PATCH 069/254] fixed small bug --- .github/actions/run_individual_benchmark/action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml index bfaa61793a..d5ee7d1fac 100644 --- a/.github/actions/run_individual_benchmark/action.yml +++ b/.github/actions/run_individual_benchmark/action.yml @@ -34,17 +34,17 @@ runs: shell: bash run: | if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=" $(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') ms" + previous_time=" $(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" else previous_time="No Previous Time" fi sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} - current_time="$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}') ms" + current_time="$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" - echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV + echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then difference=$((current_time-previous_time)) From 1067d5b7be559addc1f7318e1a06a51aa129caa3 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 12 Aug 2024 22:32:37 +0100 Subject: [PATCH 070/254] checking architectures --- .github/workflows/OS_BUILD_TEST.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/OS_BUILD_TEST.yml index abf1f7ad59..51b9c97d19 100644 --- a/.github/workflows/OS_BUILD_TEST.yml +++ b/.github/workflows/OS_BUILD_TEST.yml @@ -9,6 +9,7 @@ env: on: workflow_dispatch: pull_request: + push: jobs: Build_and_Run: @@ -98,6 +99,8 @@ jobs: run: | cat /etc/os-release echo "_______________________________________" + uname -a + echo "_______________________________________" cmake --version echo "_______________________________________" "${{ env.GCC_DIR }}" --version From adfa4bc709d84c809e829de590c6c7712e10127b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:09:37 +0100 Subject: [PATCH 071/254] renamed workflow files + added armclang test --- .../actions/setup_armclang_ubuntu/action.yml | 23 ++-- .github/workflows/ARMCLANG_TEST.YML | 100 ++++++++++++++++++ ...UILD_TEST.yml => LINUX_GCC_BUILD_TEST.yml} | 0 ...UILD_TEST.yml => MACOS_GCC_BUILD_TEST.yml} | 2 +- 4 files changed, 117 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/ARMCLANG_TEST.YML rename .github/workflows/{OS_BUILD_TEST.yml => LINUX_GCC_BUILD_TEST.yml} (100%) rename .github/workflows/{MACOS_BUILD_TEST.yml => MACOS_GCC_BUILD_TEST.yml} (99%) diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index 7fc4a34b17..7a8057e4c7 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -10,20 +10,29 @@ inputs: runs: using: 'composite' steps: - - name: install dependencies + - name: Install dependencies uses: ./.github/actions/setup_deps - - name: install cmake or restore from cache + - name: Install cmake or restore from cache uses: ./.github/actions/setup_cmake with: OS: ${{ inputs.OS }} - - name: install llvm - shell: bash + - name: Download armclang run: | - wget https://apt.llvm.org/llvm.sh - chmod +x llvm.sh - ./llvm.sh ${{ inputs.LLVM-VERSION }} + apt-get update + apt-get upgrade -y + apt-get install environment-modules + + wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + + ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./arm_compiler_test + export MODULEPATH=$MODULEPATH:$(pwd)/arm_compiler_test/modulefiles + + module avail + module load acfl/24.04 + armclang -v ####################################### # - name: armclang restore diff --git a/.github/workflows/ARMCLANG_TEST.YML b/.github/workflows/ARMCLANG_TEST.YML new file mode 100644 index 0000000000..7f5bb4b470 --- /dev/null +++ b/.github/workflows/ARMCLANG_TEST.YML @@ -0,0 +1,100 @@ +name: ARMCLANG_TEST + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + +on: + workflow_dispatch: + pull_request: + +jobs: + Build_and_Run: + runs-on: macos-14 + + strategy: + fail-fast: false + matrix: + # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + OS: ['ubuntu:22.04'] # Docker images + + name: "${{ matrix.OS }} + ARMCLANG" + + steps: + ####################################### + # Clones repo to workspace. + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: macos + COMPILER: armclang + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + + ####################################### + # Run Integration Tests. + ####################################### + - name: Integration Tests + shell: bash + run: | + ./build/test/integration/integrationtests + + ####################################### + # Run Unit Tests. + ####################################### + - name: Unit Tests + shell: bash + run: | + ./build/test/unit/unittests + + ####################################### + # Run Regression AARCH64 Tests. + ####################################### + - name: regression test (aarch64) + if: always() + shell: bash + run: | + ./build/test/regression/aarch64/regression-aarch64 + + ####################################### + # Run Regression RISCV Tests. + ####################################### + - name: regression test (riscv) + if: always() + shell: bash + run: | + ./build/test/regression/riscv/regression-riscv + + ####################################### + # Run Benchmark Tests. + ####################################### + # - if: always() + # name: run benchmarks + # uses: ./.github/actions/simeng_benchmarks + # with: + # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + # OS: ${{ matrix.OS }} + ########################################## \ No newline at end of file diff --git a/.github/workflows/OS_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml similarity index 100% rename from .github/workflows/OS_BUILD_TEST.yml rename to .github/workflows/LINUX_GCC_BUILD_TEST.yml diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml similarity index 99% rename from .github/workflows/MACOS_BUILD_TEST.yml rename to .github/workflows/MACOS_GCC_BUILD_TEST.yml index aa71af891a..beff47264b 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -11,7 +11,7 @@ on: jobs: Build_and_Run: - runs-on: macos-13 + runs-on: macos-14 strategy: fail-fast: false From b4336a4b325ae10ff5622453587c6e55a739ed62 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:09:59 +0100 Subject: [PATCH 072/254] removed redundant lines --- .github/workflows/ARMCLANG_TEST.YML | 44 -------------------- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 1 - .github/workflows/PERFORMANCE_REGRESSION.yml | 1 - 3 files changed, 46 deletions(-) diff --git a/.github/workflows/ARMCLANG_TEST.YML b/.github/workflows/ARMCLANG_TEST.YML index 7f5bb4b470..1c34fbb7c4 100644 --- a/.github/workflows/ARMCLANG_TEST.YML +++ b/.github/workflows/ARMCLANG_TEST.YML @@ -54,47 +54,3 @@ jobs: which g++ echo "_______________________________________" - ####################################### - # Run Integration Tests. - ####################################### - - name: Integration Tests - shell: bash - run: | - ./build/test/integration/integrationtests - - ####################################### - # Run Unit Tests. - ####################################### - - name: Unit Tests - shell: bash - run: | - ./build/test/unit/unittests - - ####################################### - # Run Regression AARCH64 Tests. - ####################################### - - name: regression test (aarch64) - if: always() - shell: bash - run: | - ./build/test/regression/aarch64/regression-aarch64 - - ####################################### - # Run Regression RISCV Tests. - ####################################### - - name: regression test (riscv) - if: always() - shell: bash - run: | - ./build/test/regression/riscv/regression-riscv - - ####################################### - # Run Benchmark Tests. - ####################################### - # - if: always() - # name: run benchmarks - # uses: ./.github/actions/simeng_benchmarks - # with: - # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - # OS: ${{ matrix.OS }} - ########################################## \ No newline at end of file diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 51b9c97d19..519295dbb3 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -9,7 +9,6 @@ env: on: workflow_dispatch: pull_request: - push: jobs: Build_and_Run: diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 52baa64088..5879f48573 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -8,7 +8,6 @@ env: on: workflow_dispatch: pull_request: - push: jobs: Build_and_Run: From b0c45280dbdf3566a7f03918695bb44d606e0ffe Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:14:37 +0100 Subject: [PATCH 073/254] disabled other workflows + enabled armclang test --- .github/workflows/ARMCLANG_TEST.YML | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ARMCLANG_TEST.YML b/.github/workflows/ARMCLANG_TEST.YML index 1c34fbb7c4..080d786d0a 100644 --- a/.github/workflows/ARMCLANG_TEST.YML +++ b/.github/workflows/ARMCLANG_TEST.YML @@ -8,6 +8,7 @@ env: on: workflow_dispatch: pull_request: + push: jobs: Build_and_Run: From 1b6c5a7ed6f10c4ecb2004d2a349b855bade4587 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:15:29 +0100 Subject: [PATCH 074/254] fixed typo --- .github/workflows/ARMCLANG_TEST.YML | 57 ----------------------------- 1 file changed, 57 deletions(-) delete mode 100644 .github/workflows/ARMCLANG_TEST.YML diff --git a/.github/workflows/ARMCLANG_TEST.YML b/.github/workflows/ARMCLANG_TEST.YML deleted file mode 100644 index 080d786d0a..0000000000 --- a/.github/workflows/ARMCLANG_TEST.YML +++ /dev/null @@ -1,57 +0,0 @@ -name: ARMCLANG_TEST - -env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - LLVM-VERSION: 14 - BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - -on: - workflow_dispatch: - pull_request: - push: - -jobs: - Build_and_Run: - runs-on: macos-14 - - strategy: - fail-fast: false - matrix: - # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images - OS: ['ubuntu:22.04'] # Docker images - - name: "${{ matrix.OS }} + ARMCLANG" - - steps: - ####################################### - # Clones repo to workspace. - ####################################### - - name: checkout v4 - uses: actions/checkout@v4 - - ####################################### - # Depending on OS and compiler, this step chooses the correct setup action to run. - ####################################### - - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env - with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: macos - COMPILER: armclang - - ####################################### - # Prints out info in isolated step for easy access. - ####################################### - - name: INFO - shell: bash - run: | - echo "_______________________________________" - cmake --version - echo "_______________________________________" - "${{ env.GCC_DIR }}" --version - which gcc - echo "_______________________________________" - "${{ env.CPP_DIR }}" --version - which g++ - echo "_______________________________________" - From 8c23f8c6c4fb2e4584d91ec3ef9f5ab544c991a4 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:16:46 +0100 Subject: [PATCH 075/254] renamed file --- .github/workflows/ARMCLANG_TEST.yml | 57 +++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/ARMCLANG_TEST.yml diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml new file mode 100644 index 0000000000..080d786d0a --- /dev/null +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -0,0 +1,57 @@ +name: ARMCLANG_TEST + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + +on: + workflow_dispatch: + pull_request: + push: + +jobs: + Build_and_Run: + runs-on: macos-14 + + strategy: + fail-fast: false + matrix: + # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + OS: ['ubuntu:22.04'] # Docker images + + name: "${{ matrix.OS }} + ARMCLANG" + + steps: + ####################################### + # Clones repo to workspace. + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: macos + COMPILER: armclang + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + From 5ac2ad3a9f27c806f3cfd4061772753531194c01 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:36:13 +0100 Subject: [PATCH 076/254] removed error lines --- .github/workflows/ARMCLANG_TEST.yml | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml index 080d786d0a..7386f13b74 100644 --- a/.github/workflows/ARMCLANG_TEST.yml +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -39,19 +39,19 @@ jobs: OS: macos COMPILER: armclang - ####################################### - # Prints out info in isolated step for easy access. - ####################################### - - name: INFO - shell: bash - run: | - echo "_______________________________________" - cmake --version - echo "_______________________________________" - "${{ env.GCC_DIR }}" --version - which gcc - echo "_______________________________________" - "${{ env.CPP_DIR }}" --version - which g++ - echo "_______________________________________" + # ####################################### + # # Prints out info in isolated step for easy access. + # ####################################### + # - name: INFO + # shell: bash + # run: | + # echo "_______________________________________" + # cmake --version + # echo "_______________________________________" + # "${{ env.GCC_DIR }}" --version + # which gcc + # echo "_______________________________________" + # "${{ env.CPP_DIR }}" --version + # which g++ + # echo "_______________________________________" From ed4b69ee0dd2ed0ecb2168400616a27eb25309f9 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:38:34 +0100 Subject: [PATCH 077/254] swapped to only installing arm clang --- .github/actions/setup_armclang_ubuntu/action.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index 7a8057e4c7..df580d1a0e 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -10,13 +10,6 @@ inputs: runs: using: 'composite' steps: - - name: Install dependencies - uses: ./.github/actions/setup_deps - - - name: Install cmake or restore from cache - uses: ./.github/actions/setup_cmake - with: - OS: ${{ inputs.OS }} - name: Download armclang run: | From 0a4ad36a2d235dd698911d44a578c17e68557ad2 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:41:46 +0100 Subject: [PATCH 078/254] fixed typo --- .github/workflows/ARMCLANG_TEST.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml index 7386f13b74..b0c5406a5d 100644 --- a/.github/workflows/ARMCLANG_TEST.yml +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -29,6 +29,11 @@ jobs: - name: checkout v4 uses: actions/checkout@v4 + - name: INFO + run: | + cat /etc/os-release + uname -a + ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. ####################################### @@ -36,7 +41,7 @@ jobs: uses: ./.github/actions/select_env with: LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: macos + OS: ubuntu COMPILER: armclang # ####################################### From 3028dc44d43443ab40a9676a969c325554c9be4a Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:43:14 +0100 Subject: [PATCH 079/254] added container instruction --- .github/workflows/ARMCLANG_TEST.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml index b0c5406a5d..3f52c57d1e 100644 --- a/.github/workflows/ARMCLANG_TEST.yml +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -21,7 +21,9 @@ jobs: OS: ['ubuntu:22.04'] # Docker images name: "${{ matrix.OS }} + ARMCLANG" - + + container: + image: ${{ matrix.OS }} steps: ####################################### # Clones repo to workspace. From acee09790d4c9cd213af83896a9deeab1344bf2e Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:03:57 +0100 Subject: [PATCH 080/254] testing apple clang installation and location --- .../{select_env => select_setup}/action.yml | 17 +++- .github/actions/setup_clang_macos/action.yml | 59 ++++++++++++ .github/workflows/ARMCLANG_TEST.yml | 22 ++--- .github/workflows/CLANG_FORMAT.yml | 34 +++++++ .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 93 +++++++++++++++++++ .github/workflows/MACOS_GCC_BUILD_TEST.yml | 15 +-- 6 files changed, 214 insertions(+), 26 deletions(-) rename .github/actions/{select_env => select_setup}/action.yml (78%) create mode 100644 .github/actions/setup_clang_macos/action.yml create mode 100644 .github/workflows/CLANG_FORMAT.yml create mode 100644 .github/workflows/MACOS_CLANG_BUILD_TEST.yml diff --git a/.github/actions/select_env/action.yml b/.github/actions/select_setup/action.yml similarity index 78% rename from .github/actions/select_env/action.yml rename to .github/actions/select_setup/action.yml index 129d9d7422..b8c4cac215 100644 --- a/.github/actions/select_env/action.yml +++ b/.github/actions/select_setup/action.yml @@ -62,10 +62,21 @@ runs: ########################################## # ARMCLANG jobs + # NOTE: DOENS'T WORK RIGHT NOW NEED TO SET UP ARM BASED SELF-HOSTED RUNNER ########################################## - - if: ${{ contains( inputs.COMPILER, 'armclang') && contains(inputs.OS, 'ubuntu') }} + # - if: ${{ contains( inputs.COMPILER, 'armclang') && contains(inputs.OS, 'ubuntu') }} + # name: Install ${{ inputs.COMPILER }} + Build SimEng + # uses: ./.github/actions/setup_armclang_ubuntu + # with: + # OS: ${{ inputs.OS }} + + ########################################## + # APPLE CLANG + ########################################## + + - if: ${{ contains( inputs.COMPILER, 'apple_clang') && contains( inputs.OS, 'macos') }} name: Install ${{ inputs.COMPILER }} + Build SimEng - uses: ./.github/actions/setup_armclang_ubuntu + uses: ./.github/actions/setup_clang_macos with: OS: ${{ inputs.OS }} - + gcc-version: ${{ inputs.COMPILER }} \ No newline at end of file diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml new file mode 100644 index 0000000000..7e4ffbcde2 --- /dev/null +++ b/.github/actions/setup_clang_macos/action.yml @@ -0,0 +1,59 @@ +name: setup clang for apple +description: build and test simeng using clang compiler on apple + +inputs: + OS: + required: true + gcc-version: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + + - name: install dependencies + uses: ./.github/actions/setup_deps + with: + OS: ${{ inputs.OS }} + + ####################################### + # Install clang + ####################################### + + - name: install gcc + shell: bash + run: | + xcode-select --install + clang --version + which clang + which clang++ + + # echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + # echo "CPP_DIR=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + + # ####################################### + # # Save gcc to cache if earlier miss occured. + # ####################################### + # - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} + # name: save gcc + # uses: actions/cache/save@v4 + # id: gcc-save-v4 + # with: + # path: /usr/local/${{ inputs.gcc-version }}.5.0 + # key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + + # ####################################### + # # Build SimEng without external llvm or ninja. + # ####################################### + # - name: Build SimEng + # shell: bash + # run: | + # cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + # -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + + # cmake --build build -j $(sysctl -n hw.ncpu) + + # cmake --build build --target install diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml index 3f52c57d1e..07e1947b33 100644 --- a/.github/workflows/ARMCLANG_TEST.yml +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -1,5 +1,10 @@ name: ARMCLANG_TEST +############################################ +# Note: this mus be rewrite as this doesn't work because github actions does not currently provide arm based runners +# Note: Currently the best option is having a self hosted runner (arm based node) on the zoo (zoo is not up and runner as of writing this) +############################################ + env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 @@ -8,7 +13,7 @@ env: on: workflow_dispatch: pull_request: - push: + jobs: Build_and_Run: @@ -46,19 +51,4 @@ jobs: OS: ubuntu COMPILER: armclang - # ####################################### - # # Prints out info in isolated step for easy access. - # ####################################### - # - name: INFO - # shell: bash - # run: | - # echo "_______________________________________" - # cmake --version - # echo "_______________________________________" - # "${{ env.GCC_DIR }}" --version - # which gcc - # echo "_______________________________________" - # "${{ env.CPP_DIR }}" --version - # which g++ - # echo "_______________________________________" diff --git a/.github/workflows/CLANG_FORMAT.yml b/.github/workflows/CLANG_FORMAT.yml new file mode 100644 index 0000000000..82b65fb025 --- /dev/null +++ b/.github/workflows/CLANG_FORMAT.yml @@ -0,0 +1,34 @@ +name: clang format + +on: + pull_request: + +jobs: + clang_format: + runs-on: ubuntu-latest + name: clang format + + steps: + - name: Install clang format + run: | + apt-get install -y clang-format + + - name: Apply clang format + run: | + SRC_LIST="$(find "./src" | grep -E ".*(\.cc$|\.hh$)")" + TEST_LIST="$(find "./test" | grep -E ".*(\.cc$|\.hh$)")"; + clang-format --verbose -i $SRC_LIST $TEST_LIST + + # push changes if clang-format did anything + - name: Check for changes + run: | + if [[ `git status --porcelain` ]]; then + echo "Code formatting issues found." + git config --global user.name 'github-actions-clang-format' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git add . + git commit -am "Apply clang-format" + git push + else + echo "No code formatting issues." + fi \ No newline at end of file diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml new file mode 100644 index 0000000000..93055ee68a --- /dev/null +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -0,0 +1,93 @@ +name: MACOS_CLANG_BUILD_TEST + +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + LLVM-VERSION: 14 + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + +on: + push: + +jobs: + Build_and_Run: + runs-on: macos-13 + + name: "macos-13 + apple_clang" + + steps: + ####################################### + # Clones repo to workspace. + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + ####################################### + # Depending on OS and compiler, this step chooses the correct setup action to run. + ####################################### + - name: setup compiler and OS env + build simeng + uses: ./.github/actions/select_env + with: + LLVM-VERSION: ${{ env.LLVM-VERSION }} + OS: macos + COMPILER: apple_clang + + ####################################### + # Prints out info in isolated step for easy access. + ####################################### + - name: INFO + shell: bash + run: | + echo "_______________________________________" + cmake --version + echo "_______________________________________" + "${{ env.GCC_DIR }}" --version + which gcc + echo "_______________________________________" + "${{ env.CPP_DIR }}" --version + which g++ + echo "_______________________________________" + + ####################################### + # Run Integration Tests. + ####################################### + - name: Integration Tests + shell: bash + run: | + ./build/test/integration/integrationtests + + ####################################### + # Run Unit Tests. + ####################################### + - name: Unit Tests + shell: bash + run: | + ./build/test/unit/unittests + + ####################################### + # Run Regression AARCH64 Tests. + ####################################### + - name: regression test (aarch64) + if: always() + shell: bash + run: | + ./build/test/regression/aarch64/regression-aarch64 + + ####################################### + # Run Regression RISCV Tests. + ####################################### + - name: regression test (riscv) + if: always() + shell: bash + run: | + ./build/test/regression/riscv/regression-riscv + + ####################################### + # Run Benchmark Tests. + ####################################### + - if: always() + name: run benchmarks + uses: ./.github/actions/simeng_benchmarks + with: + BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + OS: macos + ########################################## \ No newline at end of file diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index beff47264b..ccd05e271d 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -19,7 +19,7 @@ jobs: COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] #, 'armclang-22.0.2'] - name: "macos-13 + ${{ matrix.compiler }}" + name: "macos-14 + ${{ matrix.compiler }}" steps: ####################################### @@ -91,10 +91,11 @@ jobs: ####################################### # Run Benchmark Tests. ####################################### - # - if: always() - # name: run benchmarks - # uses: ./.github/actions/simeng_benchmarks - # with: - # BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - # OS: ${{ matrix.OS }} + - if: always() + name: Run Benchmarks + uses: ./.github/actions/simeng_benchmarks + with: + BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} + OS: macos + PAT: ${{ env.PAT }} ########################################## \ No newline at end of file From 3f32a23f418c1fd0629c857132e7ead7f54f179b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:06:01 +0100 Subject: [PATCH 081/254] fixed action name in scripts as renamed select_env to select_setup --- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 4 ++-- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 519295dbb3..fb18bd5cab 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -81,10 +81,10 @@ jobs: ####################################### # Depending on OS and compiler, this step chooses the correct setup action to run. - # The action is located in .github/actions/select_env + # The action is located in .github/actions/select_setup ####################################### - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env + uses: ./.github/actions/select_setup with: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: ${{ matrix.OS }} diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 93055ee68a..404988d033 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -25,7 +25,7 @@ jobs: # Depending on OS and compiler, this step chooses the correct setup action to run. ####################################### - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env + uses: ./.github/actions/select_setup with: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: macos diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index ccd05e271d..3278c3f994 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -32,7 +32,7 @@ jobs: # Depending on OS and compiler, this step chooses the correct setup action to run. ####################################### - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env + uses: ./.github/actions/select_setup with: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: macos From 57b58c538494de6494f08ec1e4edd3d04a9379d1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:26:14 +0100 Subject: [PATCH 082/254] macos+clang wrapped arguments for select_setup action in single quotes --- .github/actions/select_setup/action.yml | 5 ++--- .github/actions/setup_clang_macos/action.yml | 3 +-- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index b8c4cac215..010f43c21d 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -74,9 +74,8 @@ runs: # APPLE CLANG ########################################## - - if: ${{ contains( inputs.COMPILER, 'apple_clang') && contains( inputs.OS, 'macos') }} + - if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }} name: Install ${{ inputs.COMPILER }} + Build SimEng uses: ./.github/actions/setup_clang_macos with: - OS: ${{ inputs.OS }} - gcc-version: ${{ inputs.COMPILER }} \ No newline at end of file + OS: ${{ inputs.OS }} \ No newline at end of file diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index 7e4ffbcde2..1d782da628 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -4,8 +4,6 @@ description: build and test simeng using clang compiler on apple inputs: OS: required: true - gcc-version: - required: true runs: using: 'composite' @@ -19,6 +17,7 @@ runs: with: OS: ${{ inputs.OS }} + ####################################### # Install clang ####################################### diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 404988d033..ced2e70d51 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -27,9 +27,9 @@ jobs: - name: setup compiler and OS env + build simeng uses: ./.github/actions/select_setup with: + OS: 'macos' + COMPILER: 'apple_clang' LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: macos - COMPILER: apple_clang ####################################### # Prints out info in isolated step for easy access. From 44dc7c99932c1a8795249b533d79443915fa6983 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:29:12 +0100 Subject: [PATCH 083/254] fixed accidental space infront of if statement --- .github/actions/select_setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 010f43c21d..ff5f227f85 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -74,7 +74,7 @@ runs: # APPLE CLANG ########################################## - - if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }} + - if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }} name: Install ${{ inputs.COMPILER }} + Build SimEng uses: ./.github/actions/setup_clang_macos with: From 78267cdc86db5665e4981e03dc355a495169e481 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:35:30 +0100 Subject: [PATCH 084/254] removed brew install pip as this already exists and causes some symlink issues when trying to install again --- .github/actions/setup_deps/action.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index 8778650a12..db3e50e0e2 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -157,7 +157,6 @@ runs: brew update brew upgrade - brew install python3-pip pip3 install pyparsing brew install make From 05c938d09ca208776d33ed1aaea6f3bd4941e10f Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:41:26 +0100 Subject: [PATCH 085/254] removed brew update and upgrade step --- .github/actions/setup_deps/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index db3e50e0e2..bcc3c62cac 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -154,8 +154,7 @@ runs: name: install dependencies shell: bash run: | - brew update - brew upgrade + pip3 install pyparsing From 33da4640f4af9f7a45437753fdaf8eb6f01cfe84 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:43:31 +0100 Subject: [PATCH 086/254] removed brew install xcode-select step --- .github/actions/setup_clang_macos/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index 1d782da628..a3529fbd67 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -25,9 +25,10 @@ runs: - name: install gcc shell: bash run: | - xcode-select --install clang --version which clang + + clang++ --version which clang++ # echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV From 15de585b44ba7a8115221c91b42be0489070d812 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:57:24 +0100 Subject: [PATCH 087/254] setting env vars that point to clang and clang++ --- .github/actions/setup_clang_macos/action.yml | 39 ++++++-------------- .github/actions/setup_deps/action.yml | 2 - .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 6 +-- 3 files changed, 14 insertions(+), 33 deletions(-) diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index a3529fbd67..76fbb1413d 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -19,41 +19,24 @@ runs: ####################################### - # Install clang + # Clang is already installed with xcode ####################################### - - name: install gcc + - name: set clang and clang++ env variables shell: bash run: | - clang --version - which clang - - clang++ --version - which clang++ - - # echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV - # echo "CPP_DIR=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV - - # ####################################### - # # Save gcc to cache if earlier miss occured. - # ####################################### - # - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} - # name: save gcc - # uses: actions/cache/save@v4 - # id: gcc-save-v4 - # with: - # path: /usr/local/${{ inputs.gcc-version }}.5.0 - # key: ${{ inputs.gcc-version }}-${{ inputs.OS }} + echo "APPLE_CLANG_DIR=$(which clang)" >> $GITHUB_ENV + echo "APPLE_CLANG_PLUS_PLUS_DIR=$(which clang++)" >> $GITHUB_ENV # ####################################### # # Build SimEng without external llvm or ninja. # ####################################### - # - name: Build SimEng - # shell: bash - # run: | - # cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ - # -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.APPLE_CLANG_DIR }} \ + -DCMAKE_CXX_COMPILER=${{ env.APPLE_CLANG_PLUS_PLUS_DIR }} - # cmake --build build -j $(sysctl -n hw.ncpu) + cmake --build build -j $(sysctl -n hw.ncpu) - # cmake --build build --target install + cmake --build build --target install diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index bcc3c62cac..c86477e8ed 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -154,8 +154,6 @@ runs: name: install dependencies shell: bash run: | - - pip3 install pyparsing brew install make diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index ced2e70d51..8ffc7e5fae 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -40,10 +40,10 @@ jobs: echo "_______________________________________" cmake --version echo "_______________________________________" - "${{ env.GCC_DIR }}" --version - which gcc + "${{ env.APPLE_CLANG_DIR }}" --version + which clang echo "_______________________________________" - "${{ env.CPP_DIR }}" --version + "${{ env.APPLE_CLANG_PLUS_PLUS_DIR }}" --version which g++ echo "_______________________________________" From 54205d81fa6f8bbc5acb00e9728430122b8550ff Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 17:22:50 +0100 Subject: [PATCH 088/254] added pat secret to env vars for benchmark checkout action for macos clang --- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 8ffc7e5fae..f7b61e2e7d 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -4,7 +4,8 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - + PAT: ${{ secrets.SIMENGUOB_PAT }} + on: push: @@ -90,4 +91,5 @@ jobs: with: BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} OS: macos + PAT: ${{ env.PAT }} ########################################## \ No newline at end of file From 11444810c86a9aa8cf3fc0ae978cede52d5a7e71 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:30:49 +0100 Subject: [PATCH 089/254] trying out reuseable workflows to bundle building and testing together --- .github/actions/setup_deps/action.yml | 1 - .github/workflows/ARMCLANG_TEST.yml | 1 - .github/workflows/CLANG_FORMAT.yml | 2 +- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 11 +++-- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 10 +++-- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 17 ++++---- .github/workflows/MAIN.yml | 44 ++++++++++++++++++++ 7 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/MAIN.yml diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml index c86477e8ed..68efdcac98 100644 --- a/.github/actions/setup_deps/action.yml +++ b/.github/actions/setup_deps/action.yml @@ -155,6 +155,5 @@ runs: shell: bash run: | pip3 install pyparsing - brew install make diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml index 07e1947b33..9a232ff5e1 100644 --- a/.github/workflows/ARMCLANG_TEST.yml +++ b/.github/workflows/ARMCLANG_TEST.yml @@ -11,7 +11,6 @@ env: BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. on: - workflow_dispatch: pull_request: diff --git a/.github/workflows/CLANG_FORMAT.yml b/.github/workflows/CLANG_FORMAT.yml index 82b65fb025..ff23a53225 100644 --- a/.github/workflows/CLANG_FORMAT.yml +++ b/.github/workflows/CLANG_FORMAT.yml @@ -1,7 +1,7 @@ name: clang format on: - pull_request: + workflow_call: jobs: clang_format: diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index fb18bd5cab..030c26b409 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -1,4 +1,10 @@ -name: OS_BUILD_TEST +name: LINUX_GCC_BUILD_TEST + +on: + workflow_call: + secrets: + SIMENGUOB_PAT: + required: true env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -6,9 +12,6 @@ env: BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} -on: - workflow_dispatch: - pull_request: jobs: Build_and_Run: diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index f7b61e2e7d..7c93b6eeb1 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -1,13 +1,15 @@ name: MACOS_CLANG_BUILD_TEST +on: + workflow_call: + + env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} -on: - push: jobs: Build_and_Run: @@ -42,10 +44,10 @@ jobs: cmake --version echo "_______________________________________" "${{ env.APPLE_CLANG_DIR }}" --version - which clang + which ${{ env.APPLE_CLANG_DIR }} echo "_______________________________________" "${{ env.APPLE_CLANG_PLUS_PLUS_DIR }}" --version - which g++ + which ${{ env.APPLE_CLANG_PLUS_PLUS_DIR }} echo "_______________________________________" ####################################### diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index 3278c3f994..576abaf1a2 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -1,25 +1,28 @@ name: OS_BUILD_TEST_MACOS +on: + workflow_call: + secrets: + SIMENGUOB_PAT: + required: true + env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - -on: - workflow_dispatch: - pull_request: + PAT: ${{ secrets.SIMENGUOB_PAT }} jobs: Build_and_Run: - runs-on: macos-14 + runs-on: macos-13 strategy: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] #, 'armclang-22.0.2'] + COMPILER: ['gcc-10'] # NOTE: only gcc 10 works with provided macos runners on github actions - name: "macos-14 + ${{ matrix.compiler }}" + name: "macos-13 + ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml new file mode 100644 index 0000000000..12f8ab74f0 --- /dev/null +++ b/.github/workflows/MAIN.yml @@ -0,0 +1,44 @@ +name: Build_Test_SimEng +# description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed + +on: + push: + # branches: + # - dev + +jobs: + # Job to run Reusable Workflow 1 + # LINUX_GCC_BUILD_TEST: + # runs-on: ubuntu-latest + # steps: + # - name: Linux + GCC checks + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # with: + # secrets: ${{ secrets.SIMENGUOB_PAT }} + + # Job to run Reusable Workflow 2 + MACOS_GCC_BUILD_TEST: + runs-on: macos-13 + steps: + - name: Macos + GCC-10 check + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + with: + secrets: ${{ secrets.SIMENGUOB_PAT }} + + # # Job to run Reusable Workflow 3 + # call-workflow3: + # runs-on: ubuntu-latest + # steps: + # - name: Run Reusable Workflow 3 + # uses: your-org/your-repo/.github/workflows/workflow3.yml@main + + # # Job to run Reusable Workflow 4 after 1, 2, and 3 + # call-workflow4: + # runs-on: ubuntu-latest + # needs: + # - call-workflow1 + # - call-workflow2 + # - call-workflow3 + # steps: + # - name: Run Reusable Workflow 4 + # uses: your-org/your-repo/.github/workflows/workflow4.yml@main From 6ffc682b01251f633312cb3e88b1730267eed8a1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:46:39 +0100 Subject: [PATCH 090/254] trying out adding self tag --- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 3 --- .github/workflows/MAIN.yml | 8 ++------ 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index 576abaf1a2..e6c0f894c5 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -2,9 +2,6 @@ name: OS_BUILD_TEST_MACOS on: workflow_call: - secrets: - SIMENGUOB_PAT: - required: true env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 12f8ab74f0..bfe12048d4 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,12 +18,8 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - runs-on: macos-13 - steps: - - name: Macos + GCC-10 check - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - with: - secrets: ${{ secrets.SIMENGUOB_PAT }} + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml@self + secrets: inherit # # Job to run Reusable Workflow 3 # call-workflow3: From b733b107c23de86df3bef61c3777160967057e88 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:48:39 +0100 Subject: [PATCH 091/254] swapped to non local path to reuseable workflow --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index bfe12048d4..cb73e24143 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml@self + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@self secrets: inherit # # Job to run Reusable Workflow 3 From 30cb801c8b79dff13643df0c0558ead22a0e2515 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:49:36 +0100 Subject: [PATCH 092/254] removed tag --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index cb73e24143..d80556b557 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@self + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml secrets: inherit # # Job to run Reusable Workflow 3 From 2b1ba3e8e90fbf2d116b9e4d4dfd68e75802d74f Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 19:52:45 +0100 Subject: [PATCH 093/254] made tag branch name --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index d80556b557..b9c5ce2994 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@github_actions secrets: inherit # # Job to run Reusable Workflow 3 From 66d5ce3608188fe4628242c53fa62a24add78d39 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:04:58 +0100 Subject: [PATCH 094/254] testing out generic variablie for current branch --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index b9c5ce2994..d98fcccc55 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@github_actions + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@$GITHUB_REF_NAME secrets: inherit # # Job to run Reusable Workflow 3 From ac45ab3fea7b12bea4a26ca6f61532a24c132010 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:16:48 +0100 Subject: [PATCH 095/254] testing out generic variable for current branch --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index d98fcccc55..786d29848d 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -18,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@$GITHUB_REF_NAME + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@${{ github.ref_name }} secrets: inherit # # Job to run Reusable Workflow 3 From 96598240ef15d6c29c75a7bf0d697a94921cc631 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:27:09 +0100 Subject: [PATCH 096/254] testing out generic variable for current branch --- .github/workflows/MAIN.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 786d29848d..d0d04c7190 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -5,6 +5,9 @@ on: push: # branches: # - dev + +env: + branch_name: ${{ github.ref_name }} jobs: # Job to run Reusable Workflow 1 @@ -18,7 +21,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@${{ github.ref_name }} + uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@${{ env.branch_name }} secrets: inherit # # Job to run Reusable Workflow 3 From 031d9e74de124380dd9fc064bbfda9f9dc8e22d0 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sat, 17 Aug 2024 20:36:14 +0100 Subject: [PATCH 097/254] testing relative reuseable action --- .github/workflows/MAIN.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index d0d04c7190..cec3edec63 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -6,9 +6,6 @@ on: # branches: # - dev -env: - branch_name: ${{ github.ref_name }} - jobs: # Job to run Reusable Workflow 1 # LINUX_GCC_BUILD_TEST: @@ -21,7 +18,7 @@ jobs: # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: - uses: UoB-HPC/SimEng/.github/workflows/MACOS_GCC_BUILD_TEST.yml@${{ env.branch_name }} + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml secrets: inherit # # Job to run Reusable Workflow 3 From 4036b524e1ff3b6ff1c79d059000f29d7975b278 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 19:30:56 +0100 Subject: [PATCH 098/254] added reusable workflows --- .github/workflows/CLANG_FORMAT.yml | 15 ++++++-- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 5 +-- .github/workflows/MAIN.yml | 44 ++++++++++------------ 3 files changed, 31 insertions(+), 33 deletions(-) diff --git a/.github/workflows/CLANG_FORMAT.yml b/.github/workflows/CLANG_FORMAT.yml index ff23a53225..9bc3666135 100644 --- a/.github/workflows/CLANG_FORMAT.yml +++ b/.github/workflows/CLANG_FORMAT.yml @@ -9,15 +9,23 @@ jobs: name: clang format steps: + - name: Install clang format run: | - apt-get install -y clang-format + sudo apt-get update + sudo apt-get upgrade + sudo apt-get install -y clang-format + + clang-format --version + + - name: checkout + uses: actions/checkout@v4 - name: Apply clang format run: | SRC_LIST="$(find "./src" | grep -E ".*(\.cc$|\.hh$)")" TEST_LIST="$(find "./test" | grep -E ".*(\.cc$|\.hh$)")"; - clang-format --verbose -i $SRC_LIST $TEST_LIST + sudo clang-format --verbose -i $SRC_LIST $TEST_LIST -style=file # push changes if clang-format did anything - name: Check for changes @@ -26,8 +34,7 @@ jobs: echo "Code formatting issues found." git config --global user.name 'github-actions-clang-format' git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git add . - git commit -am "Apply clang-format" + git commit -am "Applied clang-format" git push else echo "No code formatting issues." diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 030c26b409..adec10f5e4 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -2,9 +2,6 @@ name: LINUX_GCC_BUILD_TEST on: workflow_call: - secrets: - SIMENGUOB_PAT: - required: true env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -15,6 +12,7 @@ env: jobs: Build_and_Run: + runs-on: ubuntu-latest strategy: fail-fast: false @@ -63,7 +61,6 @@ jobs: ####################################### # Choose container and set name of workflow ####################################### - runs-on: ubuntu-latest container: image: ${{ matrix.OS }} diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index cec3edec63..0f1630f2f1 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -7,34 +7,28 @@ on: # - dev jobs: - # Job to run Reusable Workflow 1 - # LINUX_GCC_BUILD_TEST: - # runs-on: ubuntu-latest - # steps: - # - name: Linux + GCC checks - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - # with: - # secrets: ${{ secrets.SIMENGUOB_PAT }} + LINUX_GCC_BUILD_TEST: + uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + secrets: inherit - # Job to run Reusable Workflow 2 MACOS_GCC_BUILD_TEST: uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml secrets: inherit - # # Job to run Reusable Workflow 3 - # call-workflow3: - # runs-on: ubuntu-latest - # steps: - # - name: Run Reusable Workflow 3 - # uses: your-org/your-repo/.github/workflows/workflow3.yml@main + MACOS_CLANG_BUILD_TEST: + uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + secrets: inherit + + PERFORMANCE_REGRESSION: + uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml + secrets: inherit + + CLANG_FORMAT: + needs: + - LINUX_GCC_BUILD_TEST + - MACOS_GCC_BUILD_TEST + - MACOS_CLANG_BUILD_TEST + - PERFORMANCE_REGRESSION - # # Job to run Reusable Workflow 4 after 1, 2, and 3 - # call-workflow4: - # runs-on: ubuntu-latest - # needs: - # - call-workflow1 - # - call-workflow2 - # - call-workflow3 - # steps: - # - name: Run Reusable Workflow 4 - # uses: your-org/your-repo/.github/workflows/workflow4.yml@main + uses: ./.github/workflows/CLANG_FORMAT.yml + secrets: inherit From ec0c95821222c06da6c79660e7d1657ec2550afc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 19:38:36 +0100 Subject: [PATCH 099/254] added reusable workflows --- .github/workflows/PERFORMANCE_REGRESSION.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 5879f48573..bc138cd051 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -6,8 +6,7 @@ env: PAT: ${{ secrets.SIMENGUOB_PAT }} on: - workflow_dispatch: - pull_request: + workflow_call: jobs: Build_and_Run: From 105883ae1901bbeaf4e0e677f567a6a8edd39310 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 19:43:36 +0100 Subject: [PATCH 100/254] removed comments --- .github/workflows/PERFORMANCE_REGRESSION.yml | 142 +------------------ 1 file changed, 5 insertions(+), 137 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index bc138cd051..035fb6b76f 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -7,9 +7,13 @@ env: on: workflow_call: + inputs: + simeng-mode: + required: true + type: string jobs: - Build_and_Run: + Compare_Performances: runs-on: ubuntu-latest steps: @@ -68,142 +72,6 @@ jobs: token: ${{ env.PAT }} path: simeng-benchmarks - # ####################################### - # # Cloverleaf - # ####################################### - # - name: check for previous cloverleaf time in cache - # uses: actions/cache/restore@v4 - # id: cloverleaf_restore - # with: - # path: ./cloverleaf_benchmark_out.txt - # key: cloverleaf_benchmark_out - - # - name: run cloverleaf_gcc10.3.0_armv8.4+sve & compare runtimes - # id: cloverleaf_run - # shell: bash - # run: | - # if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # previous_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - # else - # previous_time="No Previous Time" - # fi - - # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve > cloverleaf_benchmark_out.txt - - # current_time=$(grep 'ticks in' cloverleaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - # echo "CLOVERLEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - # echo "CLOVERLEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - # if [[ ${{ steps.cloverleaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # difference=$((current_time-previous_time)) - # echo "CLOVERLEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - # else - # echo "CLOVERLEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - # fi - - # ####################################### - # # miniBUDE - # ####################################### - # - name: check for previous minibude time in cache - # uses: actions/cache/restore@v4 - # id: miniBUDE_restore - # with: - # path: ./miniBUDE_benchmark_out.txt - # key: minibude_benchmark_out - - # - name: run minibude_gcc10.3.0_armv8.4+sve & compare runtimes - # id: minibude_run - # shell: bash - # run: | - # if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # previous_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - # else - # previous_time="No Previous Time" - # fi - - # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve > miniBUDE_benchmark_out.txt - - # current_time=$(grep 'ticks in' miniBUDE_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - # echo "MINIBUDE_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - # echo "MINIBUDE_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - # if [[ ${{ steps.miniBUDE_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # difference=$((current_time-previous_time)) - # echo "MINIBUDE_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - # else - # echo "MINIBUDE_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - # fi - - # ####################################### - # # STREAM - # ####################################### - # - name: check for previous stream time in cache - # uses: actions/cache/restore@v4 - # id: stream_restore - # with: - # path: ./stream_benchmark_out.txt - # key: stream_benchmark_out - - # - name: run stream_gcc10.3.0_armv8.4+sve & compare runtimes - # id: stream_run - # shell: bash - # run: | - # if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # previous_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - # else - # previous_time="No Previous Time" - # fi - - # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve > stream_benchmark_out.txt - - # current_time=$(grep 'ticks in' stream_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - # echo "STREAM_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - # echo "STREAM_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - # if [[ ${{ steps.stream_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # difference=$((current_time-previous_time)) - # echo "STREAM_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - # else - # echo "STREAM_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - # fi - - # ####################################### - # # TeaLeaf - # ####################################### - # - name: check for previous tealeaf time in cache - # uses: actions/cache/restore@v4 - # id: tealeaf_restore - # with: - # path: ./tealeaf_benchmark_out.txt - # key: tealeaf_benchmark_out - - # - name: run tealeaf_gcc10.3.0_armv8.4+sve & compare runtimes - # id: tealeaf_run - # shell: bash - # run: | - # if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # previous_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - # else - # previous_time="No Previous Time" - # fi - - # sudo simeng ./configs/a64fx.yaml ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve > tealeaf_benchmark_out.txt - - # current_time=$(grep 'ticks in' tealeaf_benchmark_out.txt | awk '{print substr($6, 1, length($6)-2)}') - - # echo "TEALEAF_CURRENT_TIME=${current_time}" >> $GITHUB_ENV - # echo "TEALEAF_PREVIOUS_TIME=${previous_time}" >> $GITHUB_ENV - - # if [[ ${{ steps.tealeaf_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - # difference=$((current_time-previous_time)) - # echo "TEALEAF_DIFFERENCE=${difference#-}" >> $GITHUB_ENV - # else - # echo "TEALEAF_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - # fi - ####################################### # Cloverleaf ####################################### From 37357ce825a7eef40912b7da187a2314545f435c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 21:28:43 +0100 Subject: [PATCH 101/254] made each action handle their own dependencies and also added parameter to work flow to determine simeng mode e.g. Debug or Release --- .github/actions/select_setup/action.yml | 10 +++- .github/actions/setup_clang_macos/action.yml | 17 +++--- .github/actions/setup_gcc_debian/action.yml | 51 ++++++++++++++---- .github/actions/setup_gcc_macos/action.yml | 41 +++----------- .github/actions/setup_gcc_redhat/action.yml | 49 +++++++++++++---- .github/actions/setup_gcc_rocky/action.yml | 50 +++++++++++++---- .github/actions/setup_gcc_ubuntu/action.yml | 56 ++++++++++++++++---- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 8 ++- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 5 ++ .github/workflows/MACOS_GCC_BUILD_TEST.yml | 5 ++ .github/workflows/MAIN.yml | 23 ++++++++ .github/workflows/PERFORMANCE_REGRESSION.yml | 4 -- 12 files changed, 234 insertions(+), 85 deletions(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index ff5f227f85..4ab2d14781 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -12,6 +12,8 @@ inputs: required: true COMPILER: required: true + MODE: + required: true runs: using: 'composite' @@ -27,6 +29,7 @@ runs: with: OS: ${{ inputs.OS }} gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} # rocky linux - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'rocky') }} @@ -35,6 +38,7 @@ runs: with: OS: ${{ inputs.OS }} gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} # red hat - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'redhat') }} @@ -43,6 +47,7 @@ runs: with: OS: ${{ inputs.OS }} gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} # debian - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'debian') }} @@ -51,6 +56,7 @@ runs: with: OS: ${{ inputs.OS }} gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} # macos - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'macos') }} @@ -59,6 +65,7 @@ runs: with: OS: ${{ inputs.OS }} gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} ########################################## # ARMCLANG jobs @@ -78,4 +85,5 @@ runs: name: Install ${{ inputs.COMPILER }} + Build SimEng uses: ./.github/actions/setup_clang_macos with: - OS: ${{ inputs.OS }} \ No newline at end of file + OS: ${{ inputs.OS }} + MODE: ${{ inputs.mode }} \ No newline at end of file diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index 76fbb1413d..49803322ea 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -4,19 +4,20 @@ description: build and test simeng using clang compiler on apple inputs: OS: required: true + MODE: + required: true runs: using: 'composite' steps: ####################################### - # Install dependencies required (cmake, etc). + # Install dependencies required ####################################### - - - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} - + - name: Install dependencies + shell: bash + run: | + pip3 install pyparsing + brew install make ####################################### # Clang is already installed with xcode @@ -34,7 +35,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.APPLE_CLANG_DIR }} \ + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.APPLE_CLANG_DIR }} \ -DCMAKE_CXX_COMPILER=${{ env.APPLE_CLANG_PLUS_PLUS_DIR }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml index dc2e2eba65..9f1182fe0a 100644 --- a/.github/actions/setup_gcc_debian/action.yml +++ b/.github/actions/setup_gcc_debian/action.yml @@ -6,6 +6,8 @@ inputs: required: true gcc-version: required: true + MODE: + required: true runs: using: 'composite' @@ -13,15 +15,46 @@ runs: ####################################### # Install dependencies required (cmake, etc). ####################################### - - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} + - name: Install dependencies + shell: bash + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + python3-launchpadlib \ + software-properties-common \ + build-essential \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + # add pyparsing for benchmarking + apt-get install -y python3-pip + pip3 install pyparsing - - name: install cmake or restore from cache - uses: ./.github/actions/setup_cmake - with: - OS: ${{ inputs.OS }} + apt-get update + apt-get upgrade -y + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via apt + shell: bash + run: | + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \ + apt update && apt install cmake -y + apt upgrade -y ####################################### # Restore gcc from cache. @@ -83,7 +116,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 427f333453..4b41f302cc 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -6,6 +6,8 @@ inputs: required: true gcc-version: required: true + MODE: + required: true runs: using: 'composite' @@ -15,35 +17,15 @@ runs: ####################################### - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} - - ####################################### - # Restore gcc from cache. - ####################################### - - name: restore gcc - uses: actions/cache/restore@v4 - id: gcc-restore-v4 - with: - path: /usr/local/${{ inputs.gcc-version }}.5.0 - key: ${{ inputs.gcc-version }}-${{ inputs.OS }} - - ####################################### - # If restoring gcc set env vars for info step in OS_BUILD_TEST.yml. - ####################################### - - if: ${{ steps.gcc-restore-v4.outputs.cache-hit == 'true' }} - name: set env vars if restoring from cache shell: bash run: | - echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + pip3 install pyparsing + brew install make ####################################### # Install gcc from source if not in cache. ####################################### - - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} - name: install gcc + - name: install gcc shell: bash run: | brew install gcc@$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) @@ -51,24 +33,13 @@ runs: echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV echo "CPP_DIR=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV - ####################################### - # Save gcc to cache if earlier miss occured. - ####################################### - - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} - name: save gcc - uses: actions/cache/save@v4 - id: gcc-save-v4 - with: - path: /usr/local/${{ inputs.gcc-version }}.5.0 - key: ${{ inputs.gcc-version }}-${{ inputs.OS }} - ####################################### # Build SimEng without external llvm or ninja. ####################################### - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/actions/setup_gcc_redhat/action.yml b/.github/actions/setup_gcc_redhat/action.yml index a78881dc9f..7a10163d73 100644 --- a/.github/actions/setup_gcc_redhat/action.yml +++ b/.github/actions/setup_gcc_redhat/action.yml @@ -6,6 +6,8 @@ inputs: required: true gcc-version: required: true + MODE: + required: true runs: using: 'composite' @@ -13,16 +15,45 @@ runs: ####################################### # Install dependencies required (cmake, etc). ####################################### + - name: Install dependencies + shell: bash + run: | + dnf -y update && \ + dnf -y install \ + gcc gcc-c++ make \ + wget \ + python3 \ + git \ + diffutils \ + openssl-devel \ + bzip2 \ + automake \ + autoconf \ + cmake \ + file \ + zlib-devel - - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} + if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + fi - - name: install cmake - uses: ./.github/actions/setup_cmake - with: - OS: ${{ inputs.OS }} + # add pyparsing for benchmarking + dnf install -y python3-pip + pip3 install pyparsing + + dnf update -y + dnf upgrade -y + dnf clean all + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via DNF + shell: bash + run: | + dnf install -y cmake ####################################### # Restore gcc 7 or 8 from cache. @@ -85,7 +116,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index bd89e49ecf..b2b1afa417 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -6,6 +6,8 @@ inputs: required: true gcc-version: required: true + MODE: + required: true runs: using: 'composite' @@ -13,15 +15,45 @@ runs: ####################################### # Install dependencies required (cmake, etc). ####################################### - - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} + - name: Install dependencies + shell: bash + run: | + dnf -y update && \ + dnf -y install \ + gcc gcc-c++ make \ + wget \ + python3 \ + git \ + diffutils \ + openssl-devel \ + bzip2 \ + automake \ + autoconf \ + cmake \ + file \ + zlib-devel - - name: install cmake - uses: ./.github/actions/setup_cmake - with: - OS: ${{ inputs.OS }} + if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + fi + + # add pyparsing for benchmarking + dnf install -y python3-pip + pip3 install pyparsing + + dnf update -y + dnf upgrade -y + dnf clean all + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via DNF + shell: bash + run: | + dnf install -y cmake ####################################### # Restore gcc 7 or 8 from cache. @@ -91,7 +123,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index fac8cc7a5d..4ef006893d 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -6,22 +6,60 @@ inputs: required: true gcc-version: required: true + MODE: + required: true runs: using: 'composite' steps: ####################################### - # Install dependencies required (cmake, etc). + # Install dependencies ####################################### - name: install dependencies - uses: ./.github/actions/setup_deps - with: - OS: ${{ inputs.OS }} + shell: bash + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + software-properties-common \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + # add pyparsing for benchmarking + apt-get install -y python3-pip + pip3 install pyparsing + + # Add additional repositories + add-apt-repository universe + add-apt-repository ppa:ubuntu-toolchain-r/test - - name: install cmake or restore from cache - uses: ./.github/actions/setup_cmake - with: - OS: ${{ inputs.OS }} + # Update package lists again after adding repositories + apt-get update + + # Upgrade all installed packages + apt-get upgrade -y + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake + shell: bash + run: | + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' && \ + apt update && apt install cmake -y + apt upgrade -y ####################################### # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason (installs some packages, not sure which ones prevent it, but it doesn't take long to run). @@ -47,7 +85,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/${{ inputs.gcc-version }} -DCMAKE_CXX_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) cmake --build build -j $(nproc) diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index adec10f5e4..5308ff9c52 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -2,6 +2,10 @@ name: LINUX_GCC_BUILD_TEST on: workflow_call: + inputs: + SIMENG-MODE: + required: true + type: string env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -69,7 +73,8 @@ jobs: steps: ####################################### - # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version i.e. use older checkout version) + # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version i.e. use older checkout version) + # NOTE: may want to remove support for gcc-7 soon ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 @@ -89,6 +94,7 @@ jobs: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: ${{ matrix.OS }} COMPILER: ${{ matrix.COMPILER }} + MODE: ${{ inputs.SIMENG-MODE }} ####################################### # Prints out info in isolated step for easy access. diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 7c93b6eeb1..4e720aa1e4 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -2,6 +2,10 @@ name: MACOS_CLANG_BUILD_TEST on: workflow_call: + inputs: + SIMENG-MODE: + required: true + type: string env: @@ -33,6 +37,7 @@ jobs: OS: 'macos' COMPILER: 'apple_clang' LLVM-VERSION: ${{ env.LLVM-VERSION }} + MODE: ${{ inputs.SIMENG-MODE }} ####################################### # Prints out info in isolated step for easy access. diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index e6c0f894c5..82a16be3c3 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -2,6 +2,10 @@ name: OS_BUILD_TEST_MACOS on: workflow_call: + inputs: + SIMENG-MODE: + required: true + type: string env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -37,6 +41,7 @@ jobs: LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: macos COMPILER: ${{ matrix.COMPILER }} + MODE: ${{ inputs.simeng-mode }} ####################################### # Prints out info in isolated step for easy access. diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 0f1630f2f1..41eda85139 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -9,19 +9,40 @@ on: jobs: LINUX_GCC_BUILD_TEST: uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Release secrets: inherit MACOS_GCC_BUILD_TEST: uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Release secrets: inherit MACOS_CLANG_BUILD_TEST: uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + with: + SIMENG-MODE: Release secrets: inherit PERFORMANCE_REGRESSION: uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml secrets: inherit + + RERUN-FAILED: + runs-on: ubuntu-latest + needs: + - LINUX_GCC_BUILD_TEST + - MACOS_GCC_BUILD_TEST + - MACOS_CLANG_BUILD_TEST + - PERFORMANCE_REGRESSION + + if: failure() + steps: + - name: Rerun failed jobs in the current workflow + env: + GH_TOKEN: ${{ github.token }} + run: gh run rerun ${{ github.run_id }} --failed CLANG_FORMAT: needs: @@ -29,6 +50,8 @@ jobs: - MACOS_GCC_BUILD_TEST - MACOS_CLANG_BUILD_TEST - PERFORMANCE_REGRESSION + - RERUN-FAILED uses: ./.github/workflows/CLANG_FORMAT.yml secrets: inherit + diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 035fb6b76f..674c5e0e17 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -7,10 +7,6 @@ env: on: workflow_call: - inputs: - simeng-mode: - required: true - type: string jobs: Compare_Performances: From 99a64e242bdd37404bebfba4bcbdc7616048f045 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 21:34:38 +0100 Subject: [PATCH 102/254] added flag check for running benchmarks depending on mode --- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 2 +- .github/workflows/MAIN.yml | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 5308ff9c52..d3d29af675 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -152,7 +152,7 @@ jobs: ####################################### # Run Benchmark Tests. ####################################### - - if: always() + - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: Run Benchmarks uses: ./.github/actions/simeng_benchmarks with: diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 4e720aa1e4..56b47a5977 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -92,7 +92,7 @@ jobs: ####################################### # Run Benchmark Tests. ####################################### - - if: always() + - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: run benchmarks uses: ./.github/actions/simeng_benchmarks with: diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index 82a16be3c3..b002f1ec09 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -96,7 +96,7 @@ jobs: ####################################### # Run Benchmark Tests. ####################################### - - if: always() + - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: Run Benchmarks uses: ./.github/actions/simeng_benchmarks with: diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 41eda85139..4dab31fac9 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -10,19 +10,19 @@ jobs: LINUX_GCC_BUILD_TEST: uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml with: - SIMENG-MODE: Release + SIMENG-MODE: Debug secrets: inherit MACOS_GCC_BUILD_TEST: uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml with: - SIMENG-MODE: Release + SIMENG-MODE: Debug secrets: inherit MACOS_CLANG_BUILD_TEST: uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml with: - SIMENG-MODE: Release + SIMENG-MODE: Debug secrets: inherit PERFORMANCE_REGRESSION: From 2ef336aa5072eff4a37462790d5c58fb7a1f2816 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 21:49:30 +0100 Subject: [PATCH 103/254] fixed cmake apt repository version for ubuntu --- .github/actions/setup_gcc_ubuntu/action.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 4ef006893d..f9825ee689 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -53,11 +53,17 @@ runs: ####################################### # Install Cmake ####################################### - - name: Install Cmake + - name: install cmake via apt shell: bash run: | + if [[ ${{ inputs.OS == 'ubuntu:18.04' }}]]; then + NAME=bionic + else + NAME=focal + fi + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ $NAME main' && \ apt update && apt install cmake -y apt upgrade -y From acca9406f43de482236d92d7f92f61b58ca0a004 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 21:56:20 +0100 Subject: [PATCH 104/254] fixed wrong deps for rocky --- .github/actions/setup_gcc_rocky/action.yml | 35 ++++++++------------ .github/workflows/LINUX_GCC_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 2 +- 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index b2b1afa417..4b92ba3ffe 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -19,33 +19,26 @@ runs: shell: bash run: | dnf -y update && \ - dnf -y install \ - gcc gcc-c++ make \ - wget \ - python3 \ - git \ - diffutils \ - openssl-devel \ - bzip2 \ - automake \ - autoconf \ - cmake \ - file \ - zlib-devel - - if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then - dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then - dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm - fi + dnf install -y epel-release \ + gcc gcc-c++ make \ + git \ + wget \ + openssl-devel \ + automake \ + autoconf \ + bzip2 \ + file \ + sudo \ + tree \ + zlib-devel # add pyparsing for benchmarking dnf install -y python3-pip pip3 install pyparsing + dnf group install -y "Development Tools" dnf update -y - dnf upgrade -y - dnf clean all + dnf upgrade -y ####################################### # Install Cmake diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index d3d29af675..60a62f83ca 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -69,7 +69,7 @@ jobs: container: image: ${{ matrix.OS }} - name: ${{ matrix.OS }} + ${{ matrix.compiler }} + name: ${{ inputs.SIMENG-MODE }} + ${{ matrix.OS }} + ${{ matrix.compiler }} steps: ####################################### diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index 56b47a5977..d533ddd45c 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -19,7 +19,7 @@ jobs: Build_and_Run: runs-on: macos-13 - name: "macos-13 + apple_clang" + name: ${{ inputs.SIMENG-MODE }} + "macos-13 + apple_clang" steps: ####################################### diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index b002f1ec09..1b1108c760 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -23,7 +23,7 @@ jobs: COMPILER: ['gcc-10'] # NOTE: only gcc 10 works with provided macos runners on github actions - name: "macos-13 + ${{ matrix.compiler }}" + name: ${{ inputs.SIMENG-MODE }} + "macos-13 + ${{ matrix.compiler }}" steps: ####################################### From c6b65f07b533bb0f942504ec30b0dd165ec5a12a Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 22:06:24 +0100 Subject: [PATCH 105/254] disabled rerun on failed jobs --- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 4 ++-- .github/workflows/MAIN.yml | 28 +++++++++++----------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index 1b1108c760..f166abeb75 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -15,7 +15,7 @@ env: jobs: Build_and_Run: - runs-on: macos-13 + runs-on: macos-14 strategy: fail-fast: false @@ -23,7 +23,7 @@ jobs: COMPILER: ['gcc-10'] # NOTE: only gcc 10 works with provided macos runners on github actions - name: ${{ inputs.SIMENG-MODE }} + "macos-13 + ${{ matrix.compiler }}" + name: ${{ inputs.SIMENG-MODE }} + "macos-14 + ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 4dab31fac9..5c246840df 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -29,20 +29,20 @@ jobs: uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml secrets: inherit - RERUN-FAILED: - runs-on: ubuntu-latest - needs: - - LINUX_GCC_BUILD_TEST - - MACOS_GCC_BUILD_TEST - - MACOS_CLANG_BUILD_TEST - - PERFORMANCE_REGRESSION + # RERUN-FAILED: + # runs-on: ubuntu-latest + # needs: + # - LINUX_GCC_BUILD_TEST + # - MACOS_GCC_BUILD_TEST + # - MACOS_CLANG_BUILD_TEST + # - PERFORMANCE_REGRESSION - if: failure() - steps: - - name: Rerun failed jobs in the current workflow - env: - GH_TOKEN: ${{ github.token }} - run: gh run rerun ${{ github.run_id }} --failed + # if: failure() + # steps: + # - name: Rerun failed jobs in the current workflow + # env: + # GH_TOKEN: ${{ github.token }} + # run: gh run rerun ${{ github.run_id }} --failed CLANG_FORMAT: needs: @@ -50,7 +50,7 @@ jobs: - MACOS_GCC_BUILD_TEST - MACOS_CLANG_BUILD_TEST - PERFORMANCE_REGRESSION - - RERUN-FAILED + # - RERUN-FAILED uses: ./.github/workflows/CLANG_FORMAT.yml secrets: inherit From 438710af4d575d7f547f1ad3f17f1348186feb09 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 22:21:07 +0100 Subject: [PATCH 106/254] fixed space in bash script --- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index f9825ee689..d4e67c0270 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -56,7 +56,7 @@ runs: - name: install cmake via apt shell: bash run: | - if [[ ${{ inputs.OS == 'ubuntu:18.04' }}]]; then + if [[ ${{ inputs.OS == 'ubuntu:18.04' }} ]]; then NAME=bionic else NAME=focal From fa409f16678447a44c6093894fdc673f25801da6 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 23:08:34 +0100 Subject: [PATCH 107/254] swapping back to macos 13 for gcc-10 --- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_GCC_BUILD_TEST.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml index d533ddd45c..a4ac24b653 100644 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -19,7 +19,7 @@ jobs: Build_and_Run: runs-on: macos-13 - name: ${{ inputs.SIMENG-MODE }} + "macos-13 + apple_clang" + name: ${{ inputs.SIMENG-MODE }} + "macos-13 + apple_clang_15" steps: ####################################### diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_GCC_BUILD_TEST.yml index f166abeb75..35ef353b51 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_GCC_BUILD_TEST.yml @@ -1,4 +1,4 @@ -name: OS_BUILD_TEST_MACOS +name: MACOS_GCC_BUILD_TEST on: workflow_call: @@ -15,7 +15,7 @@ env: jobs: Build_and_Run: - runs-on: macos-14 + runs-on: macos-13 strategy: fail-fast: false @@ -23,7 +23,7 @@ jobs: COMPILER: ['gcc-10'] # NOTE: only gcc 10 works with provided macos runners on github actions - name: ${{ inputs.SIMENG-MODE }} + "macos-14 + ${{ matrix.compiler }}" + name: ${{ inputs.SIMENG-MODE }} + "macos-13 + ${{ matrix.compiler }}" steps: ####################################### From a3bd87cf5c5dc7459c39806786c573c5517ac3e4 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 21 Aug 2024 23:15:58 +0100 Subject: [PATCH 108/254] added curly braces around NAME varible --- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index d4e67c0270..19a12b8cd1 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -63,7 +63,7 @@ runs: fi wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ $NAME main' && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ ${NAME} main' && \ apt update && apt install cmake -y apt upgrade -y From 79bd26acd28007a349fa17ad5a34fc322f609479 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 22 Aug 2024 00:09:44 +0100 Subject: [PATCH 109/254] added update/upgrade to macos --- .github/actions/setup_gcc_macos/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 4b41f302cc..4e90864301 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -19,6 +19,8 @@ runs: - name: install dependencies shell: bash run: | + brew update + brew upgrade pip3 install pyparsing brew install make From 9a34168f8d6579383883d76d03e126c3ab5b3691 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 22 Aug 2024 00:15:11 +0100 Subject: [PATCH 110/254] swapped to double quotes for kitware repo path --- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 19a12b8cd1..3053da6299 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -63,7 +63,7 @@ runs: fi wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ ${NAME} main' && \ + apt-add-repository "deb https://apt.kitware.com/ubuntu/ $NAME main" && \ apt update && apt install cmake -y apt upgrade -y From 76fa07e971ec1662bda4d6fa5c417e676ca15dcc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 22 Aug 2024 00:38:07 +0100 Subject: [PATCH 111/254] added export path for python and reload bash terminla --- .github/actions/setup_gcc_macos/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 4e90864301..c82f0a9753 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -21,6 +21,8 @@ runs: run: | brew update brew upgrade + export PATH=/usr/local/opt/python/libexec/bin:$PATH + source ~/.bash_profile pip3 install pyparsing brew install make From 6cb55d4e24df20702ee0c7bbc6f1fa5172b69167 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:25:15 +0100 Subject: [PATCH 112/254] adding average script and averaging workflow to get average runtime on github runner also removed deps and cmake folder --- .github/actions/setup_cmake/action.yml | 46 ------ .github/actions/setup_deps/action.yml | 159 --------------------- .github/actions/setup_gcc_macos/action.yml | 4 - .github/workflows/AVERAGE.yml | 63 ++++++++ .github/workflows/MAIN.yml | 58 +++++--- 5 files changed, 99 insertions(+), 231 deletions(-) delete mode 100644 .github/actions/setup_cmake/action.yml delete mode 100644 .github/actions/setup_deps/action.yml create mode 100644 .github/workflows/AVERAGE.yml diff --git a/.github/actions/setup_cmake/action.yml b/.github/actions/setup_cmake/action.yml deleted file mode 100644 index 4e17c1743a..0000000000 --- a/.github/actions/setup_cmake/action.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: setup cmake -description: installs and caches cmake - -inputs: - OS: - required: true - -runs: - using: 'composite' - steps: - ####################################### - # Updating apt repositories for ubuntu to install cmake via package manager without issues - ####################################### - - - if: ${{ inputs.OS == 'ubuntu:20.04' }} - name: install cmake via apt - shell: bash - run: | - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' && \ - apt update && apt install cmake -y - apt upgrade -y - - - if: ${{ inputs.OS == 'ubuntu:18.04' || inputs.OS == 'debian:10'}} - name: install cmake via apt - shell: bash - run: | - wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ - apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \ - apt update && apt install cmake -y - apt upgrade -y - - ####################################### - # Install via package manager for - ####################################### - - if: ${{ inputs.OS == 'debian:11' }} - name: install cmake via apt - shell: bash - run: | - apt install -y cmake - - - if: ${{ contains(inputs.OS, 'redhat') || contains(inputs.OS, 'rocky') }} - name: install cmake via dnf - shell: bash - run: | - dnf install -y cmake diff --git a/.github/actions/setup_deps/action.yml b/.github/actions/setup_deps/action.yml deleted file mode 100644 index 68efdcac98..0000000000 --- a/.github/actions/setup_deps/action.yml +++ /dev/null @@ -1,159 +0,0 @@ -name: sets up dependencies for simeng - -inputs: - - OS: - required: true - -runs: - using: 'composite' - steps: - ####################################### - # Ubuntu Dependencies - ####################################### - - if: ${{ contains(inputs.OS, 'ubuntu') }} - name: install dependencies - shell: bash - run: | - export DEBIAN_FRONTEND=noninteractive - - # Update package lists - apt-get update - - # Install essential packages - apt-get install -y \ - software-properties-common \ - sudo \ - wget \ - zlib1g-dev \ - python3 \ - build-essential \ - libssl-dev \ - ninja-build \ - tree \ - git - - # add pyparsing for benchmarking - apt-get install -y python3-pip - pip3 install pyparsing - - # Add additional repositories - add-apt-repository universe - add-apt-repository ppa:ubuntu-toolchain-r/test - - # Update package lists again after adding repositories - apt-get update - - # Upgrade all installed packages - apt-get upgrade -y - - ####################################### - # Debian Dependencies - ####################################### - - if: ${{ contains(inputs.OS, 'debian') }} - name: install dependencies - shell: bash - run: | - export DEBIAN_FRONTEND=noninteractive - - # Update package lists - apt-get update - - # Install essential packages - apt-get install -y \ - python3-launchpadlib \ - software-properties-common \ - build-essential \ - sudo \ - wget \ - zlib1g-dev \ - python3 \ - build-essential \ - libssl-dev \ - ninja-build \ - tree \ - git - - # add pyparsing for benchmarking - apt-get install -y python3-pip - pip3 install pyparsing - - apt-get update - apt-get upgrade -y - - ####################################### - # Redhat Dependencies - ####################################### - - if: ${{ contains(inputs.OS, 'redhat') }} - name: install dependencies - shell: bash - run: | - dnf -y update && \ - dnf -y install \ - gcc gcc-c++ make \ - wget \ - python3 \ - git \ - diffutils \ - openssl-devel \ - bzip2 \ - automake \ - autoconf \ - cmake \ - file \ - zlib-devel - - if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then - dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm - elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then - dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm - fi - - # add pyparsing for benchmarking - dnf install -y python3-pip - pip3 install pyparsing - - dnf update -y - dnf upgrade -y - dnf clean all - - ####################################### - # Rocky Dependencies - ####################################### - - if: ${{ contains(inputs.OS, 'rocky') }} - name: install dependencies - shell: bash - run: | - dnf -y update && \ - dnf install -y epel-release \ - gcc gcc-c++ make \ - git \ - wget \ - openssl-devel \ - automake \ - autoconf \ - bzip2 \ - file \ - sudo \ - tree \ - zlib-devel - - # add pyparsing for benchmarking - dnf install -y python3-pip - pip3 install pyparsing - - dnf group install -y "Development Tools" - dnf update -y - dnf upgrade -y - dnf clean all - - ####################################### - # macos Dependencies - ####################################### - - if: ${{ contains(inputs.OS, 'macos') }} - name: install dependencies - shell: bash - run: | - pip3 install pyparsing - brew install make - diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index c82f0a9753..4b41f302cc 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -19,10 +19,6 @@ runs: - name: install dependencies shell: bash run: | - brew update - brew upgrade - export PATH=/usr/local/opt/python/libexec/bin:$PATH - source ~/.bash_profile pip3 install pyparsing brew install make diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml new file mode 100644 index 0000000000..56c139f4ca --- /dev/null +++ b/.github/workflows/AVERAGE.yml @@ -0,0 +1,63 @@ +name: Finds Averages Of Benchmarks + +on: + push: + +jobs: + AVERAGE: + strategy: + fail-fast: false + matrix: + + benchmarks: ["./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", + "./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve", + "./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", + "./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve"] + + runs-on: ubuntu-latest + + steps: + ####################################### + # Clone SimEng fork + ####################################### + - name: checkout v4 + uses: actions/checkout@v4 + + - name: install deps + shell: bash + run: | + sudo apt-get -y install gcc-10 g++-10 pip + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + pip install pyparsing + sudo cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 + + sudo cmake --build build -j $(nproc) + + sudo cmake --build build --target install + + echo "GCC_DIR=/usr/bin/gcc-10" >> $GITHUB_ENV + echo "CPP_DIR=/usr/bin/g++-10" >> $GITHUB_ENV + + ####################################### + # Checkout simeng-benchmark repository + ####################################### + - name: checking out benchmark repository + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + ref: makefile-build-system + token: ${{ env.PAT }} + path: simeng-benchmarks + + ####################################### + # Run benchmark averaging + ####################################### + - name: Run benchmark averaging scripot + run: | + sudo ./.github/bench_avg.sh ${{ matrix.benchmarks }} + \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 5c246840df..89e907021c 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -7,50 +7,64 @@ on: # - dev jobs: - LINUX_GCC_BUILD_TEST: + ################################### + # Debug Mode + ################################### + DEBUG_LINUX_GCC_BUILD_TEST: uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml with: SIMENG-MODE: Debug secrets: inherit - MACOS_GCC_BUILD_TEST: + DEBUG_MACOS_GCC_BUILD_TEST: uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml with: SIMENG-MODE: Debug secrets: inherit - MACOS_CLANG_BUILD_TEST: + DEBUG_MACOS_CLANG_BUILD_TEST: uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml with: SIMENG-MODE: Debug secrets: inherit + ################################### + # Release Mode + ################################### + RELEASE_LINUX_GCC_BUILD_TEST: + uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit + + RELEASE_MACOS_GCC_BUILD_TEST: + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit + + RELEASE_MACOS_CLANG_BUILD_TEST: + uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit + + ################################### + # Compare runtime with Previous run time + ################################### PERFORMANCE_REGRESSION: uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml secrets: inherit - - # RERUN-FAILED: - # runs-on: ubuntu-latest - # needs: - # - LINUX_GCC_BUILD_TEST - # - MACOS_GCC_BUILD_TEST - # - MACOS_CLANG_BUILD_TEST - # - PERFORMANCE_REGRESSION - - # if: failure() - # steps: - # - name: Rerun failed jobs in the current workflow - # env: - # GH_TOKEN: ${{ github.token }} - # run: gh run rerun ${{ github.run_id }} --failed CLANG_FORMAT: needs: - - LINUX_GCC_BUILD_TEST - - MACOS_GCC_BUILD_TEST - - MACOS_CLANG_BUILD_TEST + - DEBUG_LINUX_GCC_BUILD_TEST + - DEBUG_MACOS_GCC_BUILD_TEST + - DEBUG_MACOS_CLANG_BUILD_TEST + - RELEASE_LINUX_GCC_BUILD_TEST + - RELEASE_MACOS_GCC_BUILD_TEST + - RELEASE_MACOS_CLANG_BUILD_TEST - PERFORMANCE_REGRESSION - # - RERUN-FAILED uses: ./.github/workflows/CLANG_FORMAT.yml secrets: inherit From 5e0f39dfeab8edef19d923f041e6ef81988e933f Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:35:24 +0100 Subject: [PATCH 113/254] fixed missing env vars --- .github/workflows/AVERAGE.yml | 5 ++++ .github/workflows/MAIN.yml | 45 +++++++++++++++++++---------------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 56c139f4ca..64725b9cf7 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -3,6 +3,11 @@ name: Finds Averages Of Benchmarks on: push: +env: + ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true + BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. + PAT: ${{ secrets.SIMENGUOB_PAT }} + jobs: AVERAGE: strategy: diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 89e907021c..6900603b29 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -2,7 +2,8 @@ name: Build_Test_SimEng # description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed on: - push: + workflow_call: + # push: # branches: # - dev @@ -10,19 +11,20 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX_GCC_BUILD_TEST: + DEBUG_LINUX_GCC: uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml with: SIMENG-MODE: Debug secrets: inherit - DEBUG_MACOS_GCC_BUILD_TEST: - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit + # NOTE: currently doens't work + # DEBUG_MACOS_GCC: + # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit - DEBUG_MACOS_CLANG_BUILD_TEST: + DEBUG_MACOS_CLANG: uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml with: SIMENG-MODE: Debug @@ -31,19 +33,20 @@ jobs: ################################### # Release Mode ################################### - RELEASE_LINUX_GCC_BUILD_TEST: + RELEASE_LINUX_GCC: uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml with: SIMENG-MODE: Release secrets: inherit - RELEASE_MACOS_GCC_BUILD_TEST: - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit + # NOTE: currently doens't work + # RELEASE_MACOS_GCC: + # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit - RELEASE_MACOS_CLANG_BUILD_TEST: + RELEASE_MACOS_CLANG: uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml with: SIMENG-MODE: Release @@ -58,12 +61,12 @@ jobs: CLANG_FORMAT: needs: - - DEBUG_LINUX_GCC_BUILD_TEST - - DEBUG_MACOS_GCC_BUILD_TEST - - DEBUG_MACOS_CLANG_BUILD_TEST - - RELEASE_LINUX_GCC_BUILD_TEST - - RELEASE_MACOS_GCC_BUILD_TEST - - RELEASE_MACOS_CLANG_BUILD_TEST + - DEBUG_LINUX_GCC + # - DEBUG_MACOS_GCC + - DEBUG_MACOS_CLANG + - RELEASE_LINUX_GCC + # - RELEASE_MACOS_GCC + - RELEASE_MACOS_CLANG - PERFORMANCE_REGRESSION uses: ./.github/workflows/CLANG_FORMAT.yml From c4e81f289525b77401f0cc65f10406367ba820c5 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:55:42 +0100 Subject: [PATCH 114/254] added bench script and fixed typo --- .github/bench_avg.sh | 48 +++++++++++++++++++++++++++++++++++ .github/workflows/AVERAGE.yml | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100755 .github/bench_avg.sh diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh new file mode 100755 index 0000000000..2ed42f1dfb --- /dev/null +++ b/.github/bench_avg.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +############################################### +# - Make sure SimEng is built first. +# - Only averages 1 benchmark over 10 runs as each run is pretty consistent +# - USAGE: ./bench_avg.sh [relative path to benchmark binary] +############################################### +# SOME OPTIONS YOU MIGHT LIKE: +#../../simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -> 10times average 38115.10 ms -> 100times 38799.21 ms +#../../simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve ->100times 53.37ms +#../../simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -> 100times 5671.59 ms +#../../simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -> 100times 44.17 ms +############################################### + + +# Check if the correct number of arguments is provided +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " + exit 1 +fi + +benchmark_path="$1" +output_file="benchmark_output.txt" +total_time=0 +runs=100 + +# Loop to run the benchmark 10 times +for (( i=1; i<=runs; i++ )) +do + # Run the benchmark and redirect output to a file + simeng ../configs/a64fx.yaml "$benchmark_path" > "$output_file" + + # Extract the time in milliseconds from the output + current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') + + # Add the extracted time to the total time + total_time=$(echo "$total_time + $current_time" | bc) + + echo "Run $i: $current_time ms" +done + +# Calculate the average time +average_time=$(echo "scale=2; $total_time / $runs" | bc) + +echo "Average time over $runs runs: $average_time ms" + +# Clean up the output file +rm "$output_file" \ No newline at end of file diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 64725b9cf7..452efef604 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -62,7 +62,7 @@ jobs: ####################################### # Run benchmark averaging ####################################### - - name: Run benchmark averaging scripot + - name: Run benchmark averaging script run: | sudo ./.github/bench_avg.sh ${{ matrix.benchmarks }} \ No newline at end of file From 0a60ea48fb0da646a7ccaba75d555353c386e417 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 28 Aug 2024 18:20:38 +0100 Subject: [PATCH 115/254] fixed a64fx path in avg script --- .github/bench_avg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh index 2ed42f1dfb..b9247833fe 100755 --- a/.github/bench_avg.sh +++ b/.github/bench_avg.sh @@ -28,7 +28,7 @@ runs=100 for (( i=1; i<=runs; i++ )) do # Run the benchmark and redirect output to a file - simeng ../configs/a64fx.yaml "$benchmark_path" > "$output_file" + simeng ./configs/a64fx.yaml "$benchmark_path" > "$output_file" # Extract the time in milliseconds from the output current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') From 578f7c597dc50d58f091976280e1860acef8b818 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 09:52:54 +0100 Subject: [PATCH 116/254] trying out threshold --- .github/bench_avg.sh | 8 ++-- .github/workflows/PERFORMANCE_REGRESSION.yml | 49 +++++++++++++++++++- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh index b9247833fe..4dbb61014f 100755 --- a/.github/bench_avg.sh +++ b/.github/bench_avg.sh @@ -6,10 +6,10 @@ # - USAGE: ./bench_avg.sh [relative path to benchmark binary] ############################################### # SOME OPTIONS YOU MIGHT LIKE: -#../../simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -> 10times average 38115.10 ms -> 100times 38799.21 ms -#../../simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve ->100times 53.37ms -#../../simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -> 100times 5671.59 ms -#../../simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -> 100times 44.17 ms +#../../simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -> [40667.65 ms avg on github runner] +#../../simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -> [63.38 ms avg on github runner] +#../../simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -> [7396.88 ms average on github runner] +#../../simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -> [56.09 ms average on github runner] ############################################### diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 674c5e0e17..7301fbf99d 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -189,4 +189,51 @@ jobs: echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" echo "Current Time: $TEALEAF_CURRENT_TIME" echo "Previous Time: $TEALEAF_PREVIOUS_TIME" - echo "Absolute Difference: $TEALEAF_DIFFERENCE" \ No newline at end of file + echo "Absolute Difference: $TEALEAF_DIFFERENCE" + + ####################################### + # Compare Results: 5% acceptance rate + ####################################### + - name: Check CLOVERLEAF time difference + if: ${{ always() }} + run: | + CLOVERLEAF_THRESHOLD=$(echo "scale=2; $CLOVERLEAF_PREVIOUS_TIME * 0.05" | bc) + CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - $CLOVERLEAF_PREVIOUS_TIME" | bc) + CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) + if (( $(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l) )); then + echo "CLOVERLEAF time difference exceeds 5% threshold!" + exit 1 + fi + + - name: Check MINIBUDE time difference + if: ${{ always() }} + run: | + MINIBUDE_THRESHOLD=$(echo "scale=2; $MINIBUDE_PREVIOUS_TIME * 0.05" | bc) + MINIBUDE_DIFF=$(echo "scale=2; $MINIBUDE_CURRENT_TIME - $MINIBUDE_PREVIOUS_TIME" | bc) + MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) + if (( $(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l) )); then + echo "MINIBUDE time difference exceeds 5% threshold!" + exit 1 + fi + + - name: Check STREAM time difference + if: ${{ always() }} + run: | + STREAM_THRESHOLD=$(echo "scale=2; $STREAM_PREVIOUS_TIME * 0.05" | bc) + STREAM_DIFF=$(echo "scale=2; $STREAM_CURRENT_TIME - $STREAM_PREVIOUS_TIME" | bc) + STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) + if (( $(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l) )); then + echo "STREAM time difference exceeds 5% threshold!" + exit 1 + fi + + - name: Check TEALEAF time difference + if: ${{ always() }} + run: | + TEALEAF_THRESHOLD=$(echo "scale=2; $TEALEAF_PREVIOUS_TIME * 0.05" | bc) + TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - $TEALEAF_PREVIOUS_TIME" | bc) + TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) + if (( $(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l) )); then + echo "TEALEAF time difference exceeds 5% threshold!" + exit 1 + fi \ No newline at end of file From bc06543892487a257ff9bfa905444cc04a59054c Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:07:34 +0100 Subject: [PATCH 117/254] trying out threshold --- .github/workflows/PERFORMANCE_REGRESSION.yml | 37 +++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 7301fbf99d..0369d00883 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -22,6 +22,7 @@ jobs: - name: install deps shell: bash run: | + sudo apt-get -y install bc sudo apt-get -y install gcc-10 g++-10 pip ####################################### # Build SimEng without llvm or ninja @@ -194,46 +195,66 @@ jobs: ####################################### # Compare Results: 5% acceptance rate ####################################### - - name: Check CLOVERLEAF time difference - if: ${{ always() }} + - if: ${{ always() }} + name: Check CLOVERLEAF threshold run: | CLOVERLEAF_THRESHOLD=$(echo "scale=2; $CLOVERLEAF_PREVIOUS_TIME * 0.05" | bc) CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - $CLOVERLEAF_PREVIOUS_TIME" | bc) CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) + + echo "+- CLOVERLEAF_THRESHOLD" + if (( $(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l) )); then echo "CLOVERLEAF time difference exceeds 5% threshold!" exit 1 + else + echo "CLOVERLEAF runtime is within threshold of 5%!" fi - - name: Check MINIBUDE time difference - if: ${{ always() }} + - if: ${{ always() }} + name: Check MINIBUDE threshold run: | MINIBUDE_THRESHOLD=$(echo "scale=2; $MINIBUDE_PREVIOUS_TIME * 0.05" | bc) MINIBUDE_DIFF=$(echo "scale=2; $MINIBUDE_CURRENT_TIME - $MINIBUDE_PREVIOUS_TIME" | bc) MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) + + echo "+- MINIBUDE_THRESHOLD" + if (( $(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l) )); then echo "MINIBUDE time difference exceeds 5% threshold!" exit 1 + else + echo "MINIBUDE runtime is within threshold of 5%!" fi - - name: Check STREAM time difference - if: ${{ always() }} + - if: ${{ always() }} + name: Check STREAM threshold run: | STREAM_THRESHOLD=$(echo "scale=2; $STREAM_PREVIOUS_TIME * 0.05" | bc) STREAM_DIFF=$(echo "scale=2; $STREAM_CURRENT_TIME - $STREAM_PREVIOUS_TIME" | bc) STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) + + echo "+- STREAM_THRESHOLD" + if (( $(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l) )); then echo "STREAM time difference exceeds 5% threshold!" exit 1 + else + echo "STREAM runtime is within threshold of 5%!" fi - - name: Check TEALEAF time difference - if: ${{ always() }} + - if: ${{ always() }} + name: Check TEALEAF threshold run: | TEALEAF_THRESHOLD=$(echo "scale=2; $TEALEAF_PREVIOUS_TIME * 0.05" | bc) TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - $TEALEAF_PREVIOUS_TIME" | bc) TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) + + echo "+- TEALEAF_THRESHOLD" + if (( $(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l) )); then echo "TEALEAF time difference exceeds 5% threshold!" exit 1 + else + echo "TEALEAF runtime is within threshold of 5%!" fi \ No newline at end of file From 3aae59635c1e68be0881a619bf1a510b84d77f83 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:08:47 +0100 Subject: [PATCH 118/254] testing performance regression --- .github/workflows/MAIN.yml | 65 +++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 6900603b29..8c088be220 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -2,8 +2,7 @@ name: Build_Test_SimEng # description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed on: - workflow_call: - # push: + push: # branches: # - dev @@ -11,11 +10,11 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX_GCC: - uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit + # DEBUG_LINUX_GCC: + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit # NOTE: currently doens't work # DEBUG_MACOS_GCC: @@ -24,20 +23,20 @@ jobs: # SIMENG-MODE: Debug # secrets: inherit - DEBUG_MACOS_CLANG: - uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit + # DEBUG_MACOS_CLANG: + # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit ################################### # Release Mode ################################### - RELEASE_LINUX_GCC: - uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit + # RELEASE_LINUX_GCC: + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit # NOTE: currently doens't work # RELEASE_MACOS_GCC: @@ -46,11 +45,11 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - RELEASE_MACOS_CLANG: - uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit + # RELEASE_MACOS_CLANG: + # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit ################################### # Compare runtime with Previous run time @@ -59,16 +58,16 @@ jobs: uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml secrets: inherit - CLANG_FORMAT: - needs: - - DEBUG_LINUX_GCC - # - DEBUG_MACOS_GCC - - DEBUG_MACOS_CLANG - - RELEASE_LINUX_GCC - # - RELEASE_MACOS_GCC - - RELEASE_MACOS_CLANG - - PERFORMANCE_REGRESSION + # CLANG_FORMAT: + # needs: + # - DEBUG_LINUX_GCC + # # - DEBUG_MACOS_GCC + # - DEBUG_MACOS_CLANG + # - RELEASE_LINUX_GCC + # # - RELEASE_MACOS_GCC + # - RELEASE_MACOS_CLANG + # - PERFORMANCE_REGRESSION - uses: ./.github/workflows/CLANG_FORMAT.yml - secrets: inherit + # uses: ./.github/workflows/CLANG_FORMAT.yml + # secrets: inherit From dccd301ce50cb292ba9a6c8595c07086f922740b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:34:30 +0100 Subject: [PATCH 119/254] fixed if statement --- .github/workflows/MAIN.yml | 3 +++ .github/workflows/PERFORMANCE_REGRESSION.yml | 26 ++++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 8c088be220..41b122f30d 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -5,6 +5,9 @@ on: push: # branches: # - dev + + schedule: + - cron: '0 0 */6 * *' # Runs every 6 days jobs: ################################### diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 0369d00883..96cb87e5b8 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -138,25 +138,25 @@ jobs: env: # environement variable scoped to this GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: store benchmark output into cache - uses: actions/cache/save@v4 + - name: store cloverleaf output into cache + uses: actions/cache/save@v4z with: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out.txt - - name: store benchmark output into cache + - name: store minibude output into cache uses: actions/cache/save@v4 with: path: ./minibude_benchmark_out.txt key: minibude_benchmark_out.txt - - name: store benchmark output into cache + - name: store stream output into cache uses: actions/cache/save@v4 with: path: ./stream_benchmark_out.txt key: stream_benchmark_out.txt - - name: store benchmark output into cache + - name: store tealeaf output into cache uses: actions/cache/save@v4 with: path: ./tealeaf_benchmark_out.txt @@ -202,9 +202,9 @@ jobs: CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - $CLOVERLEAF_PREVIOUS_TIME" | bc) CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) - echo "+- CLOVERLEAF_THRESHOLD" + echo "Threashold: +- CLOVERLEAF_THRESHOLD" - if (( $(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l) )); then + if [ 1 -eq "$(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l)" ]; then echo "CLOVERLEAF time difference exceeds 5% threshold!" exit 1 else @@ -218,9 +218,9 @@ jobs: MINIBUDE_DIFF=$(echo "scale=2; $MINIBUDE_CURRENT_TIME - $MINIBUDE_PREVIOUS_TIME" | bc) MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) - echo "+- MINIBUDE_THRESHOLD" + echo "Threashold: +- MINIBUDE_THRESHOLD" - if (( $(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l) )); then + if [ 1 -eq "$(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l)" ]; then echo "MINIBUDE time difference exceeds 5% threshold!" exit 1 else @@ -234,9 +234,9 @@ jobs: STREAM_DIFF=$(echo "scale=2; $STREAM_CURRENT_TIME - $STREAM_PREVIOUS_TIME" | bc) STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) - echo "+- STREAM_THRESHOLD" + echo "Threashold: +- STREAM_THRESHOLD" - if (( $(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l) )); then + if [ 1 -eq "$(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l)" ]; then echo "STREAM time difference exceeds 5% threshold!" exit 1 else @@ -250,9 +250,9 @@ jobs: TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - $TEALEAF_PREVIOUS_TIME" | bc) TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) - echo "+- TEALEAF_THRESHOLD" + echo "Threashold: +- $TEALEAF_THRESHOLD" - if (( $(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l) )); then + if [ 1 -eq "$(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l)" ]; then echo "TEALEAF time difference exceeds 5% threshold!" exit 1 else From df38cf1d6bfb6b48b18b564e2cb55b59e59a286d Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:35:39 +0100 Subject: [PATCH 120/254] fixed typo --- .github/workflows/AVERAGE.yml | 2 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 452efef604..c50c6cca04 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -1,7 +1,7 @@ name: Finds Averages Of Benchmarks on: - push: + workflow_call: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 96cb87e5b8..efd631cceb 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -139,7 +139,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: store cloverleaf output into cache - uses: actions/cache/save@v4z + uses: actions/cache/save@v4 with: path: ./cloverleaf_benchmark_out.txt key: cloverleaf_benchmark_out.txt From f189127947cbf651794db8a2ba8bdee150a5f73a Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 11:01:54 +0100 Subject: [PATCH 121/254] testing if other benchmarks in workflows work --- .github/workflows/MAIN.yml | 43 ++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 41b122f30d..ada4191b1b 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -13,11 +13,11 @@ jobs: ################################### # Debug Mode ################################### - # DEBUG_LINUX_GCC: - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit + DEBUG_LINUX_GCC: + uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit # NOTE: currently doens't work # DEBUG_MACOS_GCC: @@ -26,20 +26,20 @@ jobs: # SIMENG-MODE: Debug # secrets: inherit - # DEBUG_MACOS_CLANG: - # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit + DEBUG_MACOS_CLANG: + uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit ################################### # Release Mode ################################### - # RELEASE_LINUX_GCC: - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit + RELEASE_LINUX_GCC: + uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit # NOTE: currently doens't work # RELEASE_MACOS_GCC: @@ -48,16 +48,19 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - # RELEASE_MACOS_CLANG: - # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit + RELEASE_MACOS_CLANG: + uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit ################################### # Compare runtime with Previous run time ################################### PERFORMANCE_REGRESSION: + # needs: + # - RELEASE_LINUX_GCC + uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml secrets: inherit From 90e2cca618abdbd06dff03e8103f0f0223f664bf Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:10:44 +0100 Subject: [PATCH 122/254] checking if averaging works now --- .github/bench_avg.sh | 15 ++++++++++++--- .github/workflows/AVERAGE.yml | 12 ++++++------ .github/workflows/MAIN.yml | 3 ++- .github/workflows/PERFORMANCE_REGRESSION.yml | 3 ++- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh index 4dbb61014f..9effa9b77b 100755 --- a/.github/bench_avg.sh +++ b/.github/bench_avg.sh @@ -20,15 +20,24 @@ if [ "$#" -ne 1 ]; then fi benchmark_path="$1" +benchmark_name="$2" +datafile_path="$3" + +if [ $datafile_path ]; then + datafile_path = "-n 64 -i 1 --deck $datafile_path" +fi + output_file="benchmark_output.txt" total_time=0 -runs=100 +runs=1 + +echo "$GITHUB_WORKSPACE" # Loop to run the benchmark 10 times for (( i=1; i<=runs; i++ )) -do +do # Run the benchmark and redirect output to a file - simeng ./configs/a64fx.yaml "$benchmark_path" > "$output_file" + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $benchmark_path/$benchmark_name $datafile_path > "$output_file" # Extract the time in milliseconds from the output current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index c50c6cca04..f9bb7fb469 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -1,7 +1,7 @@ name: Finds Averages Of Benchmarks on: - workflow_call: + push: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -14,10 +14,10 @@ jobs: fail-fast: false matrix: - benchmarks: ["./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", - "./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve", - "./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", - "./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve"] + benchmarks: [{path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, + {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm"}, + {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, + {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] runs-on: ubuntu-latest @@ -64,5 +64,5 @@ jobs: ####################################### - name: Run benchmark averaging script run: | - sudo ./.github/bench_avg.sh ${{ matrix.benchmarks }} + sudo ./.github/bench_avg.sh ${{ matrix.benchmarks.path }} ${{ matrix.benchmarks.name }} ${{ matrix.benchmarks.datafile }} \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index ada4191b1b..ddf74f7f56 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -2,7 +2,8 @@ name: Build_Test_SimEng # description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed on: - push: + workflow_call: + # push: # branches: # - dev diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index efd631cceb..0ab2078425 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -119,7 +119,7 @@ jobs: && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ - sudo apt update && sudo apt install -y gh && sudo apt upgrade -y + sudo apt update && sudo apt install -y gh && sudo apt upgrade -y gh extension install actions/gh-actions-cache caches=( @@ -195,6 +195,7 @@ jobs: ####################################### # Compare Results: 5% acceptance rate ####################################### + # Should be average - if: ${{ always() }} name: Check CLOVERLEAF threshold run: | From fcb6d8bfcbb8a37ab8e63c1f07415ee5ec91a98b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:25:56 +0100 Subject: [PATCH 123/254] fixed args requried for script --- .github/bench_avg.sh | 4 ++-- .github/workflows/AVERAGE.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh index 9effa9b77b..b645742c9a 100755 --- a/.github/bench_avg.sh +++ b/.github/bench_avg.sh @@ -14,8 +14,8 @@ # Check if the correct number of arguments is provided -if [ "$#" -ne 1 ]; then - echo "Usage: $0 " +if [ "$#" -ne 3 ]; then + echo "Usage: $0 " exit 1 fi diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index f9bb7fb469..9671634bc1 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, + benchmarks: [{path: "${{ GITHUB_WORKSPACE }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm"}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] From e9eb554949470f730ae6e5231205eaf1aa05b0f9 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:31:04 +0100 Subject: [PATCH 124/254] fixed path? --- .github/workflows/AVERAGE.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 9671634bc1..67114ef463 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "${{ GITHUB_WORKSPACE }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, + benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm"}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] @@ -22,6 +22,11 @@ jobs: runs-on: ubuntu-latest steps: + - name: echo workspace + shell: bash + run: | + echo ${{ github.workspace }} + echo $GITHUB_WORKSPACE ####################################### # Clone SimEng fork ####################################### @@ -63,6 +68,7 @@ jobs: # Run benchmark averaging ####################################### - name: Run benchmark averaging script + shell: bash run: | sudo ./.github/bench_avg.sh ${{ matrix.benchmarks.path }} ${{ matrix.benchmarks.name }} ${{ matrix.benchmarks.datafile }} \ No newline at end of file From 0288066265859bb3cd601e3ece3f88f6dba6152a Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:50:53 +0100 Subject: [PATCH 125/254] added github.workspace as input to script --- .github/workflows/AVERAGE.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 67114ef463..ccc7b44c3c 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,19 +14,14 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf"}, - {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm"}, - {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, - {path: "$GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "$GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] + benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/CloverLeaf"}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/miniBUDE/bm"}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] runs-on: ubuntu-latest steps: - - name: echo workspace - shell: bash - run: | - echo ${{ github.workspace }} - echo $GITHUB_WORKSPACE ####################################### # Clone SimEng fork ####################################### @@ -70,5 +65,5 @@ jobs: - name: Run benchmark averaging script shell: bash run: | - sudo ./.github/bench_avg.sh ${{ matrix.benchmarks.path }} ${{ matrix.benchmarks.name }} ${{ matrix.benchmarks.datafile }} + sudo ./.github/bench_avg.sh ${{ github.workspace }} ${{ matrix.benchmarks.path }} ${{ matrix.benchmarks.name }} ${{ matrix.benchmarks.datafile }} \ No newline at end of file From e1434691da9f884e4b3c2f93ab467343df67c618 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 14:23:35 +0100 Subject: [PATCH 126/254] removed separate script and merged with AVERAGE.yml workflow --- .github/bench_avg.sh | 57 ----------------------------------- .github/workflows/AVERAGE.yml | 35 ++++++++++++++++++++- 2 files changed, 34 insertions(+), 58 deletions(-) delete mode 100755 .github/bench_avg.sh diff --git a/.github/bench_avg.sh b/.github/bench_avg.sh deleted file mode 100755 index b645742c9a..0000000000 --- a/.github/bench_avg.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -############################################### -# - Make sure SimEng is built first. -# - Only averages 1 benchmark over 10 runs as each run is pretty consistent -# - USAGE: ./bench_avg.sh [relative path to benchmark binary] -############################################### -# SOME OPTIONS YOU MIGHT LIKE: -#../../simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -> [40667.65 ms avg on github runner] -#../../simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -> [63.38 ms avg on github runner] -#../../simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -> [7396.88 ms average on github runner] -#../../simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -> [56.09 ms average on github runner] -############################################### - - -# Check if the correct number of arguments is provided -if [ "$#" -ne 3 ]; then - echo "Usage: $0 " - exit 1 -fi - -benchmark_path="$1" -benchmark_name="$2" -datafile_path="$3" - -if [ $datafile_path ]; then - datafile_path = "-n 64 -i 1 --deck $datafile_path" -fi - -output_file="benchmark_output.txt" -total_time=0 -runs=1 - -echo "$GITHUB_WORKSPACE" - -# Loop to run the benchmark 10 times -for (( i=1; i<=runs; i++ )) -do - # Run the benchmark and redirect output to a file - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $benchmark_path/$benchmark_name $datafile_path > "$output_file" - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "$total_time + $current_time" | bc) - - echo "Run $i: $current_time ms" -done - -# Calculate the average time -average_time=$(echo "scale=2; $total_time / $runs" | bc) - -echo "Average time over $runs runs: $average_time ms" - -# Clean up the output file -rm "$output_file" \ No newline at end of file diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index ccc7b44c3c..071b4820dc 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -65,5 +65,38 @@ jobs: - name: Run benchmark averaging script shell: bash run: | - sudo ./.github/bench_avg.sh ${{ github.workspace }} ${{ matrix.benchmarks.path }} ${{ matrix.benchmarks.name }} ${{ matrix.benchmarks.datafile }} + benchmark_path=${{ matrix.benchmarks.path }} + benchmark_name=${{ matrix.benchmarks.name }} + datafile_path=${{ matrix.benchmarks.datafile }} + + output_file="benchmark_output.txt" + total_time=0 + runs=1 + + # Loop to run the benchmark 10 times + for (( i=1; i<=runs; i++ )) + do + # Run the benchmark and redirect output to a file + if [ $datafile_path ]; then + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "$benchmark_path/$benchmark_name" -n 64 -i 1 --deck $datafile_path > "$output_file" + else + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "$benchmark_path/$benchmark_name" > "$output_file" + fi + + # Extract the time in milliseconds from the output + current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') + + # Add the extracted time to the total time + total_time=$(echo "$total_time + $current_time" | bc) + + echo "Run $i: $current_time ms" + done + + # Calculate the average time + average_time=$(echo "scale=2; $total_time / $runs" | bc) + + echo "Average time over $runs runs: $average_time ms" + + # Clean up the output file + sudo rm "$output_file" \ No newline at end of file From d27aeae8b1fb8a87c0062f64c43958a49439493e Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 15:06:55 +0100 Subject: [PATCH 127/254] removed slash --- .github/workflows/AVERAGE.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 071b4820dc..145b1a3d2d 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,10 +14,10 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp/", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/CloverLeaf"}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/miniBUDE/openmp/", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/miniBUDE/bm"}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/STREAM/", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/TeaLeaf/3d/", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] + benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/CloverLeaf"}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/miniBUDE/bm"}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/STREAM", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, + {path: "${{ github.workspace }}/simeng-benchmarks/binaries/TeaLeaf/3d", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] runs-on: ubuntu-latest From 285aafeae2f656e1f16e794eee717a7af6f48dd3 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 16:24:34 +0100 Subject: [PATCH 128/254] printing info at the start --- .github/workflows/AVERAGE.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 145b1a3d2d..03ca09d1b7 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -22,6 +22,12 @@ jobs: runs-on: ubuntu-latest steps: + - name: info + shell: bash + run: | + echo ${{ matrix.benchmarks.path }} + echo ${{ matrix.benchmarks.name }} + echo ${{ matrix.benchmarks.datafile }} ####################################### # Clone SimEng fork ####################################### From 122d4b14ac005a96337d84215fa1aa8093090028 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 16:28:29 +0100 Subject: [PATCH 129/254] added workspace variable directlry to script path --- .github/workflows/AVERAGE.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 03ca09d1b7..8907d5b7bd 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,10 +14,10 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "${{ github.workspace }}/simeng-benchmarks/binaries/CloverLeaf/openmp", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/CloverLeaf"}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/miniBUDE/bm"}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/STREAM", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, - {path: "${{ github.workspace }}/simeng-benchmarks/binaries/TeaLeaf/3d", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "${{ github.workspace }}/simeng-benchmarks/Data_Files/TeaLeaf/3d"}] + benchmarks: [{path: "simeng-benchmarks/binaries/CloverLeaf/openmp", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/CloverLeaf"}, + {path: "simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm"}, + {path: "simeng-benchmarks/binaries/STREAM", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, + {path: "simeng-benchmarks/binaries/TeaLeaf/3d", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/TeaLeaf/3d"}] runs-on: ubuntu-latest @@ -84,9 +84,9 @@ jobs: do # Run the benchmark and redirect output to a file if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "$benchmark_path/$benchmark_name" -n 64 -i 1 --deck $datafile_path > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "${{ github.workspace }}/$benchmark_path/$benchmark_name" -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "$benchmark_path/$benchmark_name" > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "${{ github.workspace }}/$benchmark_path/$benchmark_name" > "$output_file" fi # Extract the time in milliseconds from the output From bbc559c355e56b76cc62481f2e561e56ac50b94b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 16:29:17 +0100 Subject: [PATCH 130/254] added workspace echo --- .github/workflows/AVERAGE.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 8907d5b7bd..64c26e5a66 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -25,6 +25,7 @@ jobs: - name: info shell: bash run: | + echo ${{ github.workspace }} echo ${{ matrix.benchmarks.path }} echo ${{ matrix.benchmarks.name }} echo ${{ matrix.benchmarks.datafile }} From af73479ad3000ed22286dd2928eecfacc65e9d4b Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 17:48:48 +0100 Subject: [PATCH 131/254] fixed typo with miniBUDE benchmark --- .github/workflows/AVERAGE.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 64c26e5a66..172b2758fe 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -15,7 +15,7 @@ jobs: matrix: benchmarks: [{path: "simeng-benchmarks/binaries/CloverLeaf/openmp", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/CloverLeaf"}, - {path: "simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm"}, + {path: "simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm1"}, {path: "simeng-benchmarks/binaries/STREAM", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, {path: "simeng-benchmarks/binaries/TeaLeaf/3d", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/TeaLeaf/3d"}] @@ -80,14 +80,16 @@ jobs: total_time=0 runs=1 + cd "${{ github.workspace }}/$benchmark_path" + # Loop to run the benchmark 10 times for (( i=1; i<=runs; i++ )) do # Run the benchmark and redirect output to a file if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "${{ github.workspace }}/$benchmark_path/$benchmark_name" -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" "${{ github.workspace }}/$benchmark_path/$benchmark_name" > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" fi # Extract the time in milliseconds from the output From a62c93e78a44735f2bc98f41a72ac8e50d4a54bc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Thu, 29 Aug 2024 22:26:10 +0100 Subject: [PATCH 132/254] swapped to 100 runs --- .github/workflows/AVERAGE.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 172b2758fe..aeecc3a351 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -14,10 +14,21 @@ jobs: fail-fast: false matrix: - benchmarks: [{path: "simeng-benchmarks/binaries/CloverLeaf/openmp", name: "cloverleaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/CloverLeaf"}, - {path: "simeng-benchmarks/binaries/miniBUDE/openmp", name: "minibude_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm1"}, - {path: "simeng-benchmarks/binaries/STREAM", name: "stream_gcc10.3.0_armv8.4+sve", datafile: ""}, - {path: "simeng-benchmarks/binaries/TeaLeaf/3d", name: "tealeaf_gcc10.3.0_armv8.4+sve", datafile: "simeng-benchmarks/Data_Files/TeaLeaf/3d"}] + benchmarks: [{path: "simeng-benchmarks/binaries/CloverLeaf/openmp", + name: "cloverleaf_gcc10.3.0_armv8.4+sve", + datafile: "simeng-benchmarks/Data_Files/CloverLeaf"}, + + {path: "simeng-benchmarks/binaries/miniBUDE/openmp", + name: "minibude_gcc10.3.0_armv8.4+sve", + datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm1"}, + + {path: "simeng-benchmarks/binaries/STREAM", + name: "stream_gcc10.3.0_armv8.4+sve", + datafile: ""}, + + {path: "simeng-benchmarks/binaries/TeaLeaf/3d", + name: "tealeaf_gcc10.3.0_armv8.4+sve", + datafile: "simeng-benchmarks/Data_Files/TeaLeaf/3d"}] runs-on: ubuntu-latest @@ -78,7 +89,7 @@ jobs: output_file="benchmark_output.txt" total_time=0 - runs=1 + runs=100 cd "${{ github.workspace }}/$benchmark_path" From 9175286e2373e1ff8b4cb81b271a8b23d6d5e2b1 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 11:43:58 +0100 Subject: [PATCH 133/254] trying to fix macos + gcc --- .github/workflows/MAIN.yml | 56 +++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index ddf74f7f56..02016b47f7 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -2,8 +2,8 @@ name: Build_Test_SimEng # description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed on: - workflow_call: - # push: + # workflow_call: + push: # branches: # - dev @@ -14,56 +14,56 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX_GCC: - uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit - - # NOTE: currently doens't work - # DEBUG_MACOS_GCC: - # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # DEBUG_LINUX_GCC: + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml # with: # SIMENG-MODE: Debug # secrets: inherit - DEBUG_MACOS_CLANG: - uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + # NOTE: currently doens't work + DEBUG_MACOS_GCC: + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml with: SIMENG-MODE: Debug secrets: inherit + # DEBUG_MACOS_CLANG: + # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit + ################################### # Release Mode ################################### - RELEASE_LINUX_GCC: - uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit - - # NOTE: currently doens't work - # RELEASE_MACOS_GCC: - # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # RELEASE_LINUX_GCC: + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml # with: # SIMENG-MODE: Release # secrets: inherit - - RELEASE_MACOS_CLANG: - uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + + # NOTE: currently doens't work + RELEASE_MACOS_GCC: + uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml with: SIMENG-MODE: Release secrets: inherit + # RELEASE_MACOS_CLANG: + # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit + ################################### # Compare runtime with Previous run time ################################### - PERFORMANCE_REGRESSION: + # PERFORMANCE_REGRESSION: # needs: # - RELEASE_LINUX_GCC - uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml - secrets: inherit + # uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml + # secrets: inherit # CLANG_FORMAT: # needs: From 000229e62b8b028a4ed68b579d07272d1a664388 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 16:26:05 +0100 Subject: [PATCH 134/254] Making average use average single benchmark --- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 8 +- .github/workflows/MAIN.yml | 17 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 210 +++++++++---------- 3 files changed, 112 insertions(+), 123 deletions(-) diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 60a62f83ca..4690b1a998 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -6,6 +6,10 @@ on: SIMENG-MODE: required: true type: string + RUNNER: + default: ubuntu-latest + required: true + type: string env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true @@ -16,14 +20,14 @@ env: jobs: Build_and_Run: - runs-on: ubuntu-latest + runs-on: ${{ inputs.RUNNER }} strategy: fail-fast: false matrix: - OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 02016b47f7..78f9898d85 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,11 +14,11 @@ jobs: ################################### # Debug Mode ################################### - # DEBUG_LINUX_GCC: - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit + DEBUG_LINUX_GCC: + uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit # NOTE: currently doens't work DEBUG_MACOS_GCC: @@ -42,7 +42,6 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - # NOTE: currently doens't work RELEASE_MACOS_GCC: uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml with: @@ -58,12 +57,12 @@ jobs: ################################### # Compare runtime with Previous run time ################################### - # PERFORMANCE_REGRESSION: + PERFORMANCE_REGRESSION: # needs: # - RELEASE_LINUX_GCC - # uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml - # secrets: inherit + uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml + secrets: inherit # CLANG_FORMAT: # needs: diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 0ab2078425..5385f97cf9 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -5,6 +5,31 @@ env: BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} + # averages + CLOVERLEAF_AVG: 42396.21 + MINIBUDE_AVG: 19414.35 + STREAM_AVG: 7378.78 + TEALEAF_AVG: 55.67 + + # benchmark information + CLOVERLEAF_PATH: "simeng-benchmarks/binaries/CloverLeaf/openmp" + CLOVERLEAF_NAME: "cloverleaf_gcc10.3.0_armv8.4+sve" + CLOVERLEAF_DATAFILE: "simeng-benchmarks/Data_Files/CloverLeaf" + + MINIBUDE_PATH: "simeng-benchmarks/binaries/miniBUDE/openmp" + MINIBUDE_NAME: "minibude_gcc10.3.0_armv8.4+sve" + MINIBUDE_DATAFILE: "simeng-benchmarks/Data_Files/miniBUDE/bm1" + + STREAM_PATH: "simeng-benchmarks/binaries/STREAM" + STREAM_NAME: "stream_gcc10.3.0_armv8.4+sve" + STREAM_DATAFILE: "" + + TEALEAF_PATH: "simeng-benchmarks/binaries/TeaLeaf/3d" + TEALEAF_NAME: "tealeaf_gcc10.3.0_armv8.4+sve" + TEALEAF_DATAFILE: "simeng-benchmarks/Data_Files/TeaLeaf/3d" + + RUNS: 10 + on: workflow_call: @@ -73,124 +98,43 @@ jobs: # Cloverleaf ####################################### - name: run cloverleaf benchmark - uses: ./.github/actions/run_individual_benchmark + uses: ./.github/actions/average_single_benchmark with: - benchmark_suite_name: 'CLOVERLEAF' - benchmark_path: ./simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve - output_file: cloverleaf_benchmark_out.txt + path: ${{ env.CLOVERLEAF_PATH}} + name: ${{ env.CLOVERLEAF_NAME }} + datafile: ${{ env.CLOVERLEAF_DATAFILE }} + runs: ${{ env.RUNS }} ####################################### # miniBUDE ####################################### - name: run miniBUDE benchmark - uses: ./.github/actions/run_individual_benchmark + uses: ./.github/actions/average_single_benchmark with: - benchmark_suite_name: 'MINIBUDE' - benchmark_path: ./simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve - output_file: minibude_benchmark_out.txt + path: ${{ env.MINIBUDE_PATH }} + name: ${{ env.MINIBUDE_NAME }} + datafile: ${{ env.MINIBUDE_DATAFILE }} + runs: ${{ env.runs }} ####################################### # STREAM ####################################### - name: run stream benchmark - uses: ./.github/actions/run_individual_benchmark + uses: ./.github/actions/average_single_benchmark with: - benchmark_suite_name: 'STREAM' - benchmark_path: ./simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve - output_file: stream_benchmark_out.txt + path: ${{ env.STREAM_PATH }} + name: ${{ env.STREAM_NAME }} + datafile: ${{ env.STREAM_DATAFILE }} + runs: ${{ env.runs }} ####################################### # TeaLeaf ####################################### - name: run TeaLeaf benchmark - uses: ./.github/actions/run_individual_benchmark - with: - benchmark_suite_name: 'TEALEAF' - benchmark_path: ./simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve - output_file: tealeaf_benchmark_out.txt - - - ####################################### - # Delete Previous benchmark times and replace with new times - ####################################### - - name: Delete previous benchmark time caches - shell: bash - run: | - sudo mkdir -p -m 755 /etc/apt/keyrings \ - && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ - && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ - && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ - - sudo apt update && sudo apt install -y gh && sudo apt upgrade -y - gh extension install actions/gh-actions-cache - - caches=( - cloverleaf_benchmark_out.txt - minibude_benchmark_out.txt - stream_benchmark_out.txt - tealeaf_benchmark_out.txt - ) - - set +e - echo "Deleting caches..." - for cache in "${caches[@]}"; do - gh actions-cache delete $cache --confirm - done - echo "Done" - env: # environement variable scoped to this - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: store cloverleaf output into cache - uses: actions/cache/save@v4 - with: - path: ./cloverleaf_benchmark_out.txt - key: cloverleaf_benchmark_out.txt - - - name: store minibude output into cache - uses: actions/cache/save@v4 - with: - path: ./minibude_benchmark_out.txt - key: minibude_benchmark_out.txt - - - name: store stream output into cache - uses: actions/cache/save@v4 - with: - path: ./stream_benchmark_out.txt - key: stream_benchmark_out.txt - - - name: store tealeaf output into cache - uses: actions/cache/save@v4 + uses: ./.github/actions/average_single_benchmark with: - path: ./tealeaf_benchmark_out.txt - key: tealeaf_benchmark_out.txt - - ####################################### - # Summary - ####################################### - - name: Summary - shell: bash - run: | - echo "#############################################" - echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $CLOVERLEAF_CURRENT_TIME" - echo "Previous Time: $CLOVERLEAF_PREVIOUS_TIME" - echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE" - - echo "#############################################" - echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $MINIBUDE_CURRENT_TIME" - echo "Previous Time: $MINIBUDE_PREVIOUS_TIME" - echo "Absolute Difference: $MINIBUDE_DIFFERENCE" - - echo "#############################################" - echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $STREAM_CURRENT_TIME" - echo "Previous Time: $STREAM_PREVIOUS_TIME" - echo "Absolute Difference: $STREAM_DIFFERENCE" - - echo "#############################################" - echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" - echo "Current Time: $TEALEAF_CURRENT_TIME" - echo "Previous Time: $TEALEAF_PREVIOUS_TIME" - echo "Absolute Difference: $TEALEAF_DIFFERENCE" + path: ${{ env.TEALEAF_PATH }} + name: ${{ env.TEALEAF_NAME }} + datafile: ${{ env.TEALEAF_DATAFILE }} + runs: ${{ env.runs }} ####################################### # Compare Results: 5% acceptance rate @@ -199,11 +143,14 @@ jobs: - if: ${{ always() }} name: Check CLOVERLEAF threshold run: | - CLOVERLEAF_THRESHOLD=$(echo "scale=2; $CLOVERLEAF_PREVIOUS_TIME * 0.05" | bc) - CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - $CLOVERLEAF_PREVIOUS_TIME" | bc) + average_name="avg_${{ env.CLOVERLEAF_NAME }}" + CURRENT_AVERAGE=${!average_name} + + CLOVERLEAF_THRESHOLD=$(echo "scale=2; ${{ env.CLOVERLEAF_AVG }} * 0.05" | bc) + CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - ${CURRENT_AVERAGE}" | bc) CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) - echo "Threashold: +- CLOVERLEAF_THRESHOLD" + echo "Threshold: +- CLOVERLEAF_THRESHOLD" if [ 1 -eq "$(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l)" ]; then echo "CLOVERLEAF time difference exceeds 5% threshold!" @@ -215,11 +162,14 @@ jobs: - if: ${{ always() }} name: Check MINIBUDE threshold run: | - MINIBUDE_THRESHOLD=$(echo "scale=2; $MINIBUDE_PREVIOUS_TIME * 0.05" | bc) + average_name="avg_${{ env.MINIBUDE_NAME }}" + CURRENT_AVERAGE=${!average_name} + + MINIBUDE_THRESHOLD=$(echo "scale=2; ${{ env.MINIBUDE_AVG }} * 0.05" | bc) MINIBUDE_DIFF=$(echo "scale=2; $MINIBUDE_CURRENT_TIME - $MINIBUDE_PREVIOUS_TIME" | bc) MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) - echo "Threashold: +- MINIBUDE_THRESHOLD" + echo "Threshold: +- MINIBUDE_THRESHOLD" if [ 1 -eq "$(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l)" ]; then echo "MINIBUDE time difference exceeds 5% threshold!" @@ -231,11 +181,14 @@ jobs: - if: ${{ always() }} name: Check STREAM threshold run: | - STREAM_THRESHOLD=$(echo "scale=2; $STREAM_PREVIOUS_TIME * 0.05" | bc) + average_name="avg_${{ env.STREAM_NAME }}" + CURRENT_AVERAGE=${!average_name} + + STREAM_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) STREAM_DIFF=$(echo "scale=2; $STREAM_CURRENT_TIME - $STREAM_PREVIOUS_TIME" | bc) STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) - echo "Threashold: +- STREAM_THRESHOLD" + echo "Threshold: +- STREAM_THRESHOLD" if [ 1 -eq "$(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l)" ]; then echo "STREAM time difference exceeds 5% threshold!" @@ -247,15 +200,48 @@ jobs: - if: ${{ always() }} name: Check TEALEAF threshold run: | - TEALEAF_THRESHOLD=$(echo "scale=2; $TEALEAF_PREVIOUS_TIME * 0.05" | bc) - TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - $TEALEAF_PREVIOUS_TIME" | bc) + average_name="avg_${{ env.TEALEAF_NAME }}" + CURRENT_AVERAGE=${!average_name} + + TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) + TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - ${{ env.TEALEAF_AVG }}" | bc) TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) - echo "Threashold: +- $TEALEAF_THRESHOLD" + echo "Threshold: +- $TEALEAF_THRESHOLD" if [ 1 -eq "$(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l)" ]; then echo "TEALEAF time difference exceeds 5% threshold!" exit 1 else echo "TEALEAF runtime is within threshold of 5%!" - fi \ No newline at end of file + fi + + # ####################################### + # # Summary + # ####################################### + # - name: Summary + # shell: bash + # run: | + # echo "#############################################" + # echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" + # echo "Current Time: $CLOVERLEAF_CURRENT_TIME" + # echo "Average Time: ${{ env.CLOVERLEAF_AVG }}" + # echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE" + + # echo "#############################################" + # echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" + # echo "Current Time: $MINIBUDE_CURRENT_TIME" + # echo "Average Time: ${{ env.MINIBUDE_AVG }}" + # echo "Absolute Difference: $MINIBUDE_DIFFERENCE" + + # echo "#############################################" + # echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" + # echo "Current Time: $STREAM_CURRENT_TIME" + # echo "Average Time: ${{ env.STREAM_AVG }}" + # echo "Absolute Difference: $STREAM_DIFFERENCE" + + # echo "#############################################" + # echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" + # echo "Current Time: $TEALEAF_CURRENT_TIME" + # echo "Average Time: ${{ env.TEALEAF_AVG }}" + # echo "Absolute Difference: $TEALEAF_DIFFERENCE" \ No newline at end of file From 4b2ef2a0bf9a7bf2e7d70e985c840cd3e4b131d8 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 16:34:08 +0100 Subject: [PATCH 135/254] fixed 'runs' input to peformance regression --- .github/workflows/AVERAGE.yml | 2 +- .github/workflows/MAIN.yml | 34 +++++++++++--------- .github/workflows/PERFORMANCE_REGRESSION.yml | 14 ++++++-- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index aeecc3a351..79a29f105a 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -1,7 +1,7 @@ name: Finds Averages Of Benchmarks on: - push: + workflow_call: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 78f9898d85..b81c50472e 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,18 +14,18 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX_GCC: - uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit + # DEBUG_LINUX_GCC: + # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit # NOTE: currently doens't work - DEBUG_MACOS_GCC: - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit + # DEBUG_MACOS_GCC: + # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Debug + # secrets: inherit # DEBUG_MACOS_CLANG: # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -42,11 +42,11 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - RELEASE_MACOS_GCC: - uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit + # RELEASE_MACOS_GCC: + # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit # RELEASE_MACOS_CLANG: # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml @@ -62,6 +62,10 @@ jobs: # - RELEASE_LINUX_GCC uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml + with: + # Number of runs of current commit to average over to compare to previous average hard coded as env vars + RUNS: 10 + secrets: inherit # CLANG_FORMAT: diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 5385f97cf9..eece0e145a 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -1,5 +1,14 @@ name: PERFORMANCE_REGRESSION +on: + workflow_call: + inputs: + RUNS: + default: 10 + required: true + type: number + + env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. @@ -28,10 +37,9 @@ env: TEALEAF_NAME: "tealeaf_gcc10.3.0_armv8.4+sve" TEALEAF_DATAFILE: "simeng-benchmarks/Data_Files/TeaLeaf/3d" - RUNS: 10 + RUNS: ${{ inputs.RUNS }} + -on: - workflow_call: jobs: Compare_Performances: From 7a31d8b6ef4e658c9eb5be41ec98148c5c5913dc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 16:45:31 +0100 Subject: [PATCH 136/254] forgot to add action --- .../average_single_benchmark/action.yml | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/actions/average_single_benchmark/action.yml diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml new file mode 100644 index 0000000000..cab3e144d8 --- /dev/null +++ b/.github/actions/average_single_benchmark/action.yml @@ -0,0 +1,67 @@ +name: Average of a single benchmark +description: runs individual benchmark based on inputs provided + +inputs: + path: + required: true + description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp + + name: + required: true + description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve + + datafile_path: + required: true + description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. + + runs: + required: true + default: 10 + description: The number of times a single benchmark should be averaged over. + +runs: + using: 'composite' + steps: + + ############################################################################ + # run individual benchmark + calculate and store into env variable via echo + ############################################################################ + - name: run benchmark & compare runtimes + shell: bash + run: | + benchmark_path=${{ inputs.path }} + benchmark_name=${{ inputs.name }} + datafile_path=${{ datafile_path.datafile }} + + output_file="benchmark_output.txt" + total_time=0 + runs=${{ inputs.runs }} + + cd "${{ github.workspace }}/$benchmark_path" + + # Loop to run the benchmark 10 times + for (( i=1; i<=runs; i++ )) + do + # Run the benchmark and redirect output to a file + if [ $datafile_path ]; then + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" + else + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" + fi + + # Extract the time in milliseconds from the output + current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') + + # Add the extracted time to the total time + total_time=$(echo "$total_time + $current_time" | bc) + + done + + # Calculate the average time + average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) + var_name = "avg_${benchmark_name}" + + echo "${!var_name}=${average_time}" >> $GITHUB_ENV" + + # Clean up the output file + sudo rm "$output_file" \ No newline at end of file From 595f85444b6ad5fb0f1bb3eacd8101cbb5ed23ef Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 16:54:00 +0100 Subject: [PATCH 137/254] fixed mistakes in arithmetic --- .github/workflows/PERFORMANCE_REGRESSION.yml | 25 +++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index eece0e145a..a615eaeb88 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -105,7 +105,7 @@ jobs: ####################################### # Cloverleaf ####################################### - - name: run cloverleaf benchmark + - name: Average ${{ inputs.RUNS }} runs of cloverleaf benchmark uses: ./.github/actions/average_single_benchmark with: path: ${{ env.CLOVERLEAF_PATH}} @@ -116,7 +116,7 @@ jobs: ####################################### # miniBUDE ####################################### - - name: run miniBUDE benchmark + - name: Average ${{ inputs.RUNS }} runs of miniBUDE benchmark uses: ./.github/actions/average_single_benchmark with: path: ${{ env.MINIBUDE_PATH }} @@ -126,7 +126,7 @@ jobs: ####################################### # STREAM ####################################### - - name: run stream benchmark + - name: Average ${{ inputs.RUNS }} runs of stream benchmark uses: ./.github/actions/average_single_benchmark with: path: ${{ env.STREAM_PATH }} @@ -136,7 +136,7 @@ jobs: ####################################### # TeaLeaf ####################################### - - name: run TeaLeaf benchmark + - name: Average ${{ inputs.RUNS }} runs of TeaLeaf benchmark uses: ./.github/actions/average_single_benchmark with: path: ${{ env.TEALEAF_PATH }} @@ -155,13 +155,14 @@ jobs: CURRENT_AVERAGE=${!average_name} CLOVERLEAF_THRESHOLD=$(echo "scale=2; ${{ env.CLOVERLEAF_AVG }} * 0.05" | bc) - CLOVERLEAF_DIFF=$(echo "scale=2; $CLOVERLEAF_CURRENT_TIME - ${CURRENT_AVERAGE}" | bc) + CLOVERLEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.CLOVERLEAF_AVG }}" | bc) CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) echo "Threshold: +- CLOVERLEAF_THRESHOLD" if [ 1 -eq "$(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l)" ]; then echo "CLOVERLEAF time difference exceeds 5% threshold!" + echo "Previous Average: ${{ env.CLOVERLEAF_AVG }} ms" exit 1 else echo "CLOVERLEAF runtime is within threshold of 5%!" @@ -174,13 +175,14 @@ jobs: CURRENT_AVERAGE=${!average_name} MINIBUDE_THRESHOLD=$(echo "scale=2; ${{ env.MINIBUDE_AVG }} * 0.05" | bc) - MINIBUDE_DIFF=$(echo "scale=2; $MINIBUDE_CURRENT_TIME - $MINIBUDE_PREVIOUS_TIME" | bc) + MINIBUDE_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.MINIBUDE_AVG }}" | bc) MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) echo "Threshold: +- MINIBUDE_THRESHOLD" if [ 1 -eq "$(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l)" ]; then echo "MINIBUDE time difference exceeds 5% threshold!" + echo "Previous Average: ${{ env.MINIBUDE_AVG }} ms" exit 1 else echo "MINIBUDE runtime is within threshold of 5%!" @@ -193,13 +195,15 @@ jobs: CURRENT_AVERAGE=${!average_name} STREAM_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) - STREAM_DIFF=$(echo "scale=2; $STREAM_CURRENT_TIME - $STREAM_PREVIOUS_TIME" | bc) + STREAM_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.STREAM_AVG }}" | bc) STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) echo "Threshold: +- STREAM_THRESHOLD" if [ 1 -eq "$(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l)" ]; then echo "STREAM time difference exceeds 5% threshold!" + echo "Previous Average: ${{ env.STREAM_AVG }} ms" + exit 1 else echo "STREAM runtime is within threshold of 5%!" @@ -212,13 +216,18 @@ jobs: CURRENT_AVERAGE=${!average_name} TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) - TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - ${{ env.TEALEAF_AVG }}" | bc) + + # TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - ${{ env.TEALEAF_AVG }}" | bc) + + TEALEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.TEALEAF_AVG }}" | bc) TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) echo "Threshold: +- $TEALEAF_THRESHOLD" if [ 1 -eq "$(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l)" ]; then echo "TEALEAF time difference exceeds 5% threshold!" + echo "Average of current commit: ${CURRENT_AVERAGE} ms" + echo "Previous Average: ${{ env.TEALEAF_AVG }} ms" exit 1 else echo "TEALEAF runtime is within threshold of 5%!" From 2be9213099dfa2109918170b62c577d5279a2dfe Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 17:14:00 +0100 Subject: [PATCH 138/254] removed datafile_path.datafile from averaging action, merged macos compilers together --- .../actions/average_single_benchmark/action.yml | 2 +- ...COS_GCC_BUILD_TEST.yml => MACOS_BUILD_TEST.yml} | 2 +- .github/workflows/MAIN.yml | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) rename .github/workflows/{MACOS_GCC_BUILD_TEST.yml => MACOS_BUILD_TEST.yml} (94%) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index cab3e144d8..38b4e707a4 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -31,7 +31,7 @@ runs: run: | benchmark_path=${{ inputs.path }} benchmark_name=${{ inputs.name }} - datafile_path=${{ datafile_path.datafile }} + datafile_path=${{ inputs.datafile_path }} output_file="benchmark_output.txt" total_time=0 diff --git a/.github/workflows/MACOS_GCC_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml similarity index 94% rename from .github/workflows/MACOS_GCC_BUILD_TEST.yml rename to .github/workflows/MACOS_BUILD_TEST.yml index 35ef353b51..831112eb1f 100644 --- a/.github/workflows/MACOS_GCC_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -20,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - COMPILER: ['gcc-10'] # NOTE: only gcc 10 works with provided macos runners on github actions + COMPILER: ['gcc-10', 'apple_clang_15'] # NOTE: only gcc 10 works with provided macos runners on github actions the other versions are difficult to get and don't work name: ${{ inputs.SIMENG-MODE }} + "macos-13 + ${{ matrix.compiler }}" diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index b81c50472e..f4647f47a2 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -21,8 +21,8 @@ jobs: # secrets: inherit # NOTE: currently doens't work - # DEBUG_MACOS_GCC: - # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml + # DEBUG_MACOS: + # uses: ./.github/workflows/MACOS_BUILD_TEST.yml # with: # SIMENG-MODE: Debug # secrets: inherit @@ -42,11 +42,11 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - # RELEASE_MACOS_GCC: - # uses: ./.github/workflows/MACOS_GCC_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit + RELEASE_MACOS: + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit # RELEASE_MACOS_CLANG: # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml From e4c7230a706a940b5aa9302d621eee10bae59565 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 17:41:36 +0100 Subject: [PATCH 139/254] fixed input typo --- .github/workflows/PERFORMANCE_REGRESSION.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index a615eaeb88..8512530b3f 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -110,7 +110,7 @@ jobs: with: path: ${{ env.CLOVERLEAF_PATH}} name: ${{ env.CLOVERLEAF_NAME }} - datafile: ${{ env.CLOVERLEAF_DATAFILE }} + datafile_path: ${{ env.CLOVERLEAF_DATAFILE }} runs: ${{ env.RUNS }} ####################################### @@ -121,7 +121,7 @@ jobs: with: path: ${{ env.MINIBUDE_PATH }} name: ${{ env.MINIBUDE_NAME }} - datafile: ${{ env.MINIBUDE_DATAFILE }} + datafile_path: ${{ env.MINIBUDE_DATAFILE }} runs: ${{ env.runs }} ####################################### # STREAM @@ -131,7 +131,7 @@ jobs: with: path: ${{ env.STREAM_PATH }} name: ${{ env.STREAM_NAME }} - datafile: ${{ env.STREAM_DATAFILE }} + datafile_path: ${{ env.STREAM_DATAFILE }} runs: ${{ env.runs }} ####################################### # TeaLeaf @@ -141,7 +141,7 @@ jobs: with: path: ${{ env.TEALEAF_PATH }} name: ${{ env.TEALEAF_NAME }} - datafile: ${{ env.TEALEAF_DATAFILE }} + datafile_path: ${{ env.TEALEAF_DATAFILE }} runs: ${{ env.runs }} ####################################### From 4cb1a8a6e916371339eb7d1b02742f6eeaadbff9 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 18:39:02 +0100 Subject: [PATCH 140/254] lots of small fixes e.g. spaces when assigning bash vars --- .github/actions/average_single_benchmark/action.yml | 2 +- .github/actions/setup_clang_macos/action.yml | 8 ++++---- .github/actions/setup_gcc_macos/action.yml | 8 ++++---- .github/workflows/MACOS_BUILD_TEST.yml | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index 38b4e707a4..3db2c5deb2 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -59,7 +59,7 @@ runs: # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) - var_name = "avg_${benchmark_name}" + var_name="avg_${benchmark_name}" echo "${!var_name}=${average_time}" >> $GITHUB_ENV" diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index 49803322ea..cd71df1ae3 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -26,8 +26,8 @@ runs: - name: set clang and clang++ env variables shell: bash run: | - echo "APPLE_CLANG_DIR=$(which clang)" >> $GITHUB_ENV - echo "APPLE_CLANG_PLUS_PLUS_DIR=$(which clang++)" >> $GITHUB_ENV + echo "COMPILER=$(which clang)" >> $GITHUB_ENV + echo "COMPILER_PLUS_PLUS=$(which clang++)" >> $GITHUB_ENV # ####################################### # # Build SimEng without external llvm or ninja. @@ -35,8 +35,8 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.APPLE_CLANG_DIR }} \ - -DCMAKE_CXX_COMPILER=${{ env.APPLE_CLANG_PLUS_PLUS_DIR }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.COMPILER }} \ + -DCMAKE_CXX_COMPILER=${{ env.COMPILER_PLUS_PLUS }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 4b41f302cc..70719ae269 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -30,8 +30,8 @@ runs: run: | brew install gcc@$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) - echo "GCC_DIR=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + echo "COMPILER=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + echo "COMPILER_PLUS_PLUS=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV ####################################### # Build SimEng without external llvm or ninja. @@ -39,8 +39,8 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ - -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.COMPILER }} \ + -DCMAKE_CXX_COMPILER=${{ env.COMPILER_PLUS_PLUS }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 831112eb1f..162ba310ed 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -52,10 +52,10 @@ jobs: echo "_______________________________________" cmake --version echo "_______________________________________" - "${{ env.GCC_DIR }}" --version + "${{ env.COMPILER }}" --version which gcc echo "_______________________________________" - "${{ env.CPP_DIR }}" --version + "${{ env.COMPILER_PLUS_PLUS }}" --version which g++ echo "_______________________________________" From 4c27c92ff245f42c37d4bd7e6178bc5507f2c772 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Sun, 1 Sep 2024 19:33:36 +0100 Subject: [PATCH 141/254] removed random speech mark --- .github/actions/average_single_benchmark/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index 3db2c5deb2..6bb5360cb4 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -61,7 +61,7 @@ runs: average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) var_name="avg_${benchmark_name}" - echo "${!var_name}=${average_time}" >> $GITHUB_ENV" + echo "${!var_name}=${average_time}" >> $GITHUB_ENV # Clean up the output file sudo rm "$output_file" \ No newline at end of file From 4c3234c1e9998c112a6b462438461b6c4f8ab46f Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 10:25:03 +0100 Subject: [PATCH 142/254] fixed invalid variable name --- .github/actions/average_single_benchmark/action.yml | 2 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index 6bb5360cb4..b24708cb6c 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -59,7 +59,7 @@ runs: # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) - var_name="avg_${benchmark_name}" + var_name="avg_${benchmark_name%%_*}" echo "${!var_name}=${average_time}" >> $GITHUB_ENV diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 8512530b3f..162921c359 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -151,8 +151,7 @@ jobs: - if: ${{ always() }} name: Check CLOVERLEAF threshold run: | - average_name="avg_${{ env.CLOVERLEAF_NAME }}" - CURRENT_AVERAGE=${!average_name} + CURRENT_AVERAGE=${avg_cloverleaf} CLOVERLEAF_THRESHOLD=$(echo "scale=2; ${{ env.CLOVERLEAF_AVG }} * 0.05" | bc) CLOVERLEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.CLOVERLEAF_AVG }}" | bc) @@ -171,8 +170,7 @@ jobs: - if: ${{ always() }} name: Check MINIBUDE threshold run: | - average_name="avg_${{ env.MINIBUDE_NAME }}" - CURRENT_AVERAGE=${!average_name} + CURRENT_AVERAGE=${avg_minibude} MINIBUDE_THRESHOLD=$(echo "scale=2; ${{ env.MINIBUDE_AVG }} * 0.05" | bc) MINIBUDE_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.MINIBUDE_AVG }}" | bc) @@ -191,8 +189,7 @@ jobs: - if: ${{ always() }} name: Check STREAM threshold run: | - average_name="avg_${{ env.STREAM_NAME }}" - CURRENT_AVERAGE=${!average_name} + CURRENT_AVERAGE=${avg_stream} STREAM_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) STREAM_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.STREAM_AVG }}" | bc) @@ -212,8 +209,7 @@ jobs: - if: ${{ always() }} name: Check TEALEAF threshold run: | - average_name="avg_${{ env.TEALEAF_NAME }}" - CURRENT_AVERAGE=${!average_name} + CURRENT_AVERAGE=${avg_tealeaf} TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) From 0c3922649b99439140e1d2a931edd98e3c319acd Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 11:55:04 +0100 Subject: [PATCH 143/254] trying to fix env error --- .../average_single_benchmark/action.yml | 8 +- .../actions/setup_armclang_debian/action.yml | 94 ++++++++++++++++ .../actions/setup_armclang_rocky/action.yml | 86 ++++++++++++++ .../actions/setup_armclang_ubuntu/action.yml | 105 ++++++++++++------ .github/actions/setup_clang_macos/action.yml | 8 +- .github/actions/setup_gcc_debian/action.yml | 10 +- .github/actions/setup_gcc_macos/action.yml | 8 +- .github/actions/setup_gcc_redhat/action.yml | 10 +- .github/actions/setup_gcc_rocky/action.yml | 16 +-- .github/actions/setup_gcc_ubuntu/action.yml | 13 ++- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 4 +- .github/workflows/PERFORMANCE_REGRESSION.yml | 12 +- 12 files changed, 301 insertions(+), 73 deletions(-) create mode 100644 .github/actions/setup_armclang_debian/action.yml create mode 100644 .github/actions/setup_armclang_rocky/action.yml diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index b24708cb6c..a6d478e262 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -59,9 +59,11 @@ runs: # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) - var_name="avg_${benchmark_name%%_*}" + - echo "${!var_name}=${average_time}" >> $GITHUB_ENV + echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV # Clean up the output file - sudo rm "$output_file" \ No newline at end of file + sudo rm "$output_file" + + echo "HERERERERE" \ No newline at end of file diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml new file mode 100644 index 0000000000..f81371deac --- /dev/null +++ b/.github/actions/setup_armclang_debian/action.yml @@ -0,0 +1,94 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + MODE: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + - name: Install dependencies + shell: bash + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + python3-launchpadlib \ + software-properties-common \ + build-essential \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + # add pyparsing for benchmarking + apt-get install -y python3-pip + pip3 install pyparsing + + apt-get update + apt-get upgrade -y + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via apt + shell: bash + run: | + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \ + apt update && apt install cmake -y + apt upgrade -y + + ####################################### + # Install ArmClang + ####################################### + - name: Install armclang + run: | + apt-get update + apt-get upgrade -y + apt-get install environment-modules + source /etc/profile.d/modules.sh + + wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + + ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler + export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles + + module avail + module load acfl/24.04 + armclang -v + + echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV + echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV + + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} + + cmake --build build -j $(nproc) + + cmake --build build --target install + + diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml new file mode 100644 index 0000000000..944402e108 --- /dev/null +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -0,0 +1,86 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + MODE: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + - name: Install dependencies + shell: bash + run: | + dnf -y update && \ + dnf install -y epel-release \ + gcc gcc-c++ make \ + git \ + wget \ + openssl-devel \ + automake \ + autoconf \ + bzip2 \ + file \ + sudo \ + tree \ + zlib-devel + + # add pyparsing for benchmarking + dnf install -y python3-pip + pip3 install pyparsing + + dnf group install -y "Development Tools" + dnf update -y + dnf upgrade -y + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via DNF + shell: bash + run: | + dnf install -y cmake + + ###################################### + # Install ArmClang + ###################################### + - name: Install armclang + run: | + + apt-get install environment-modules + source /etc/profile.d/modules.sh + + wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + + ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler + export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles + + module avail + module load acfl/24.04 + armclang -v + + echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV + echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV + + + ####################################### + # Build SimEng without llvm or ninja + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ + -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + + cmake --build build -j $(nproc) + + cmake --build build --target install + diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index df580d1a0e..6219bb4da3 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -10,48 +10,89 @@ inputs: runs: using: 'composite' steps: + ####################################### + # Install dependencies + ####################################### + - name: Install dependencies + run: | + export DEBIAN_FRONTEND=noninteractive + + # Update package lists + apt-get update + + # Install essential packages + apt-get install -y \ + software-properties-common \ + sudo \ + wget \ + zlib1g-dev \ + python3 \ + build-essential \ + libssl-dev \ + ninja-build \ + tree \ + git + + # add pyparsing for benchmarking + apt-get install -y python3-pip + pip3 install pyparsing + + # Add additional repositories + add-apt-repository universe + add-apt-repository ppa:ubuntu-toolchain-r/test + + # Update package lists again after adding repositories + apt-get update + + # Upgrade all installed packages + apt-get upgrade -y + + ####################################### + # Install Cmake + ####################################### + - name: Install cmake via apt + shell: bash + run: | + if [[ ${{ inputs.OS == 'ubuntu:18.04' }} ]]; then + NAME=bionic + else + NAME=focal + fi - - name: Download armclang + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \ + apt-add-repository "deb https://apt.kitware.com/ubuntu/ $NAME main" && \ + apt update && apt install cmake -y + apt upgrade -y + + ####################################### + # Install ArmClang + ####################################### + - name: Install armclang run: | apt-get update apt-get upgrade -y apt-get install environment-modules + source /etc/profile.d/modules.sh wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar - ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./arm_compiler_test - export MODULEPATH=$MODULEPATH:$(pwd)/arm_compiler_test/modulefiles + ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler + export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles module avail module load acfl/24.04 armclang -v - - ####################################### - # - name: armclang restore - # uses: actions/cache/restore@v4 - # id: armclang-restore-v4 - # with: - # path: /usr/local/armclang - # key: armclang-${{ inputs.OS }} - # ####################################### - # - if: ${{ steps.armclang-restore-v4.outputs.cache-hit != 'true' }} - # name: Install armclang - # shell: bash - # run: | - # wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Source_Code/gcc-11-sources.tar.xz > /dev/null 2>&1 - # tar -xf gcc-11-sources.tar.xz.tar.gz > /dev/null 2>&1 - # cd gcc-11-sources - # tree -L 2 - # ./contrib/download_prerequisites > /dev/null - # ./configure --enable-languages=c,c++ -disable-multilib --prefix=/usr/local/armclang - - # make -j$(nproc) - # make install - # ####################################### - # - name: armclang save - # uses: actions/cache/save@v4 - # id: armclang-save-v4 - # with: - # path: /usr/local/armclang - # key: armclang-${{ inputs.OS }} \ No newline at end of file + echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV + echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV + + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} + + cmake --build build -j $(nproc) + + cmake --build build --target install + + \ No newline at end of file diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index cd71df1ae3..ccdbe0eb09 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -26,8 +26,8 @@ runs: - name: set clang and clang++ env variables shell: bash run: | - echo "COMPILER=$(which clang)" >> $GITHUB_ENV - echo "COMPILER_PLUS_PLUS=$(which clang++)" >> $GITHUB_ENV + echo "C_COMPILER=$(which clang)" >> $GITHUB_ENV + echo "CPP_COMPILER=$(which clang++)" >> $GITHUB_ENV # ####################################### # # Build SimEng without external llvm or ninja. @@ -35,8 +35,8 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.COMPILER }} \ - -DCMAKE_CXX_COMPILER=${{ env.COMPILER_PLUS_PLUS }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} \ + -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml index 9f1182fe0a..1fbc6e41dc 100644 --- a/.github/actions/setup_gcc_debian/action.yml +++ b/.github/actions/setup_gcc_debian/action.yml @@ -73,8 +73,8 @@ runs: name: set env vars if restoring from cache shell: bash run: | - echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV ####################################### # Install gcc from source. @@ -96,8 +96,8 @@ runs: make -j$(nproc) make install - echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV ####################################### # Save gcc to cache if earlier miss occured. @@ -116,7 +116,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=$GCC_DIR -DCMAKE_CXX_COMPILER=$CPP_DIR + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 70719ae269..4d8c183172 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -30,8 +30,8 @@ runs: run: | brew install gcc@$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) - echo "COMPILER=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV - echo "COMPILER_PLUS_PLUS=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV ####################################### # Build SimEng without external llvm or ninja. @@ -39,8 +39,8 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.COMPILER }} \ - -DCMAKE_CXX_COMPILER=${{ env.COMPILER_PLUS_PLUS }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_C_COMPILER=${{ env.C_COMPILER }} \ + -DCMAKE_CXX_C_COMPILER=${{ env.CPP_COMPILER }} cmake --build build -j $(sysctl -n hw.ncpu) diff --git a/.github/actions/setup_gcc_redhat/action.yml b/.github/actions/setup_gcc_redhat/action.yml index 7a10163d73..2623aad42f 100644 --- a/.github/actions/setup_gcc_redhat/action.yml +++ b/.github/actions/setup_gcc_redhat/action.yml @@ -72,8 +72,8 @@ runs: name: set env vars if restoring from cache shell: bash run: | - echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV ####################################### # As redhat 8 doesn't support installation of gcc via package manager unless you have a subscription, @@ -96,8 +96,8 @@ runs: make -j$(nproc) make install - echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV ####################################### # Save gcc to cache if earlier miss occured. @@ -116,7 +116,7 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index 4b92ba3ffe..b3c19d3f55 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -66,8 +66,8 @@ runs: name: set env vars if restoring from cache shell: bash run: | - echo "GCC_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/${{ inputs.gcc-version }}.5.0/bin/g++" >> $GITHUB_ENV ####################################### # As rocky 8 doesn't support installing older versions of gcc via package manager, @@ -79,8 +79,8 @@ runs: run: | if [[ " gcc-9 gcc-10 " =~ (^|[[:space:]])${{inputs.gcc-version}}($|[[:space:]]) ]]; then dnf install -y gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2) - echo "GCC_DIR=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/opt/rh/gcc-toolset-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)/root/usr/bin/g++" >> $GITHUB_ENV else GCC_VER="${{ inputs.gcc-version }}.5.0" @@ -95,8 +95,8 @@ runs: make -j$(nproc) make install - echo "GCC_DIR=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV - echo "CPP_DIR=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV + echo "C_COMPILER=/usr/local/$GCC_VER/bin/gcc" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV fi ####################################### @@ -116,8 +116,8 @@ runs: - name: Build SimEng shell: bash run: | - cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.GCC_DIR }} \ - -DCMAKE_CXX_COMPILER=${{ env.CPP_DIR }} + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} \ + -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} cmake --build build -j $(nproc) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 3053da6299..6ba95c4582 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -15,7 +15,7 @@ runs: ####################################### # Install dependencies ####################################### - - name: install dependencies + - name: Install dependencies shell: bash run: | export DEBIAN_FRONTEND=noninteractive @@ -53,7 +53,7 @@ runs: ####################################### # Install Cmake ####################################### - - name: install cmake via apt + - name: Install cmake via apt shell: bash run: | if [[ ${{ inputs.OS == 'ubuntu:18.04' }} ]]; then @@ -68,7 +68,8 @@ runs: apt upgrade -y ####################################### - # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason (installs some packages, not sure which ones prevent it, but it doesn't take long to run). + # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason + # (installs some packages, not sure which ones prevent failure, but it doesn't take long to run). ####################################### - if: ${{ inputs.gcc-version == 'gcc-10' }} name: install llvm @@ -78,7 +79,7 @@ runs: chmod +x llvm.sh ./llvm.sh 14 - - name: install gcc + - name: Install gcc shell: bash run: | apt-get -y install ${{ inputs.gcc-version }} @@ -97,7 +98,7 @@ runs: cmake --build build --target install - echo "GCC_DIR=/usr/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV - echo "CPP_DIR=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV + echo "C_COMPILER=/usr/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV \ No newline at end of file diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 4690b1a998..15ff7f7ef9 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -112,10 +112,10 @@ jobs: echo "_______________________________________" cmake --version echo "_______________________________________" - "${{ env.GCC_DIR }}" --version + "${{ env.C_COMPILER }}" --version which gcc echo "_______________________________________" - "${{ env.CPP_DIR }}" --version + "${{ env.CPP_COMPILER }}" --version which g++ echo "_______________________________________" diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 162921c359..0bfbcad500 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -70,8 +70,8 @@ jobs: sudo cmake --build build --target install - echo "GCC_DIR=/usr/bin/gcc-10" >> $GITHUB_ENV - echo "CPP_DIR=/usr/bin/g++-10" >> $GITHUB_ENV + echo "C_COMPILER=/usr/bin/gcc-10" >> $GITHUB_ENV + echo "CPP_COMPILER=/usr/bin/g++-10" >> $GITHUB_ENV ####################################### # Prints out info in isolated step for easy access. @@ -83,10 +83,10 @@ jobs: echo "_______________________________________" cmake --version echo "_______________________________________" - "${{ env.GCC_DIR }}" --version + "${{ env.C_COMPILER }}" --version which gcc echo "_______________________________________" - "${{ env.CPP_DIR }}" --version + "${{ env.CPP_COMPILER }}" --version which g++ echo "_______________________________________" ls @@ -113,6 +113,10 @@ jobs: datafile_path: ${{ env.CLOVERLEAF_DATAFILE }} runs: ${{ env.RUNS }} + - name: print + run: | + echo "HERERERERE" + ####################################### # miniBUDE ####################################### From ecc2eba540e3eb99a4d22a37bc88025c1dffbd85 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 12:27:33 +0100 Subject: [PATCH 144/254] added scale=2 to bc line --- .../average_single_benchmark/action.yml | 12 +-- .../actions/setup_armclang_redhat/action.yml | 90 +++++++++++++++++++ .../actions/setup_armclang_rocky/action.yml | 3 +- 3 files changed, 97 insertions(+), 8 deletions(-) create mode 100644 .github/actions/setup_armclang_redhat/action.yml diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index a6d478e262..37f46e048d 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -53,17 +53,17 @@ runs: current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') # Add the extracted time to the total time - total_time=$(echo "$total_time + $current_time" | bc) - + total_time=$(echo "scale=2; $total_time + $current_time" | bc) + done # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) - + + echo "Final average time of ${{ inputs.runs }} runs: $average_time" + echo "yayaya avg_${benchmark_name%%_*}" echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV # Clean up the output file - sudo rm "$output_file" - - echo "HERERERERE" \ No newline at end of file + sudo rm $output_file diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml new file mode 100644 index 0000000000..eac6b75a1b --- /dev/null +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -0,0 +1,90 @@ +name: setup gcc +description: installs dependencies and correct gcc version to build and test simeng + +inputs: + OS: + required: true + gcc-version: + required: true + MODE: + required: true + +runs: + using: 'composite' + steps: + ####################################### + # Install dependencies required (cmake, etc). + ####################################### + - name: Install dependencies + shell: bash + run: | + dnf -y update && \ + dnf -y install \ + gcc gcc-c++ make \ + wget \ + python3 \ + git \ + diffutils \ + openssl-devel \ + bzip2 \ + automake \ + autoconf \ + cmake \ + file \ + zlib-devel + + if [[ ${{ inputs.OS }} == 'redhat/ubi8:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + elif [[ ${{ inputs.OS }} == 'redhat/ubi9:latest' ]]; then + dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + fi + + # add pyparsing for benchmarking + dnf install -y python3-pip + pip3 install pyparsing + + dnf update -y + dnf upgrade -y + dnf clean all + + ####################################### + # Install Cmake + ####################################### + - name: Install Cmake via DNF + shell: bash + run: | + dnf install -y cmake + + ###################################### + # Install ArmClang + ###################################### + - name: Install armclang + run: | + + dnf install -y environment-modules + source /etc/profile.d/modules.sh + + wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + tar -xf arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar + + ./arm-compiler-for-linux_24.04_Ubuntu-20.04/arm-compiler-for-linux_24.04_Ubuntu-20.04.sh --install-to ./armclang_compiler + export MODULEPATH=$MODULEPATH:$(pwd)/armclang_compiler/modulefiles + + module avail + module load acfl/24.04 + armclang -v + + echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV + echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV + + ####################################### + # Build SimEng without external llvm or ninja. + ####################################### + - name: Build SimEng + shell: bash + run: | + cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=${{ env.C_COMPILER }} -DCMAKE_CXX_COMPILER=${{ env.CPP_COMPILER }} + + cmake --build build -j $(nproc) + + cmake --build build --target install diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 944402e108..11e6ccc31d 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -54,7 +54,7 @@ runs: - name: Install armclang run: | - apt-get install environment-modules + dnf install -y environment-modules source /etc/profile.d/modules.sh wget https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar @@ -70,7 +70,6 @@ runs: echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV - ####################################### # Build SimEng without llvm or ninja ####################################### From ac3365b2ef227c959abb9f220b91de04e396449e Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:56:23 +0100 Subject: [PATCH 145/254] fixed capitalisation --- .github/actions/average_single_benchmark/action.yml | 5 ++++- .github/actions/select_setup/action.yml | 12 +++++++----- .github/actions/setup_armclang_debian/action.yml | 2 -- .github/actions/setup_armclang_redhat/action.yml | 2 -- .github/actions/setup_armclang_rocky/action.yml | 2 -- .github/actions/setup_gcc_macos/action.yml | 6 +++++- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 2 +- .github/workflows/MAIN.yml | 11 ++++++----- .github/workflows/PERFORMANCE_REGRESSION.yml | 6 +++--- 9 files changed, 26 insertions(+), 22 deletions(-) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index 37f46e048d..27cec46cb7 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -57,8 +57,11 @@ runs: done + echo "total time $total_time" + echo "runs ${{ inputs.runs }}" + # Calculate the average time - average_time=$(echo "scale=2; $total_time / ${{ env.runs }}" | bc) + average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) echo "Final average time of ${{ inputs.runs }} runs: $average_time" echo "yayaya avg_${benchmark_name%%_*}" diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 4ab2d14781..6102d2f300 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -71,11 +71,13 @@ runs: # ARMCLANG jobs # NOTE: DOENS'T WORK RIGHT NOW NEED TO SET UP ARM BASED SELF-HOSTED RUNNER ########################################## - # - if: ${{ contains( inputs.COMPILER, 'armclang') && contains(inputs.OS, 'ubuntu') }} - # name: Install ${{ inputs.COMPILER }} + Build SimEng - # uses: ./.github/actions/setup_armclang_ubuntu - # with: - # OS: ${{ inputs.OS }} + - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'macos') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_gcc_macos + with: + OS: ${{ inputs.OS }} + gcc-version: ${{ inputs.COMPILER }} + MODE: ${{ inputs.mode }} ########################################## # APPLE CLANG diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index f81371deac..e8d8f4f3d2 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -4,8 +4,6 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: required: true - gcc-version: - required: true MODE: required: true diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index eac6b75a1b..0a092e07d5 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -4,8 +4,6 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: required: true - gcc-version: - required: true MODE: required: true diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 11e6ccc31d..1c42f57f40 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -4,8 +4,6 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: required: true - gcc-version: - required: true MODE: required: true diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 4d8c183172..a43d3bb170 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -42,6 +42,10 @@ runs: cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_C_COMPILER=${{ env.C_COMPILER }} \ -DCMAKE_CXX_C_COMPILER=${{ env.CPP_COMPILER }} - cmake --build build -j $(sysctl -n hw.ncpu) + if [[ ${{ inputs.MODE }} == "Release" ]]; then + cmake --build build -j $(sysctl -n hw.ncpu) + else + cmake --build build -j 1 + fi cmake --build build --target install diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index 15ff7f7ef9..b7aa011075 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # ] compiler names OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index f4647f47a2..08fe6912a5 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -11,6 +11,7 @@ on: - cron: '0 0 */6 * *' # Runs every 6 days jobs: + ################################### # Debug Mode ################################### @@ -42,11 +43,11 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - RELEASE_MACOS: - uses: ./.github/workflows/MACOS_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit + # RELEASE_MACOS: + # uses: ./.github/workflows/MACOS_BUILD_TEST.yml + # with: + # SIMENG-MODE: Release + # secrets: inherit # RELEASE_MACOS_CLANG: # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 0bfbcad500..481da1a60c 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -126,7 +126,7 @@ jobs: path: ${{ env.MINIBUDE_PATH }} name: ${{ env.MINIBUDE_NAME }} datafile_path: ${{ env.MINIBUDE_DATAFILE }} - runs: ${{ env.runs }} + runs: ${{ env.RUNS }} ####################################### # STREAM ####################################### @@ -136,7 +136,7 @@ jobs: path: ${{ env.STREAM_PATH }} name: ${{ env.STREAM_NAME }} datafile_path: ${{ env.STREAM_DATAFILE }} - runs: ${{ env.runs }} + runs: ${{ env.RUNS }} ####################################### # TeaLeaf ####################################### @@ -146,7 +146,7 @@ jobs: path: ${{ env.TEALEAF_PATH }} name: ${{ env.TEALEAF_NAME }} datafile_path: ${{ env.TEALEAF_DATAFILE }} - runs: ${{ env.runs }} + runs: ${{ env.RUNS }} ####################################### # Compare Results: 5% acceptance rate From e7bba92a5bc3f283e699864ac061013657d8e156 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 16:42:08 +0100 Subject: [PATCH 146/254] fixed up echos and cleaned things up --- .../actions/average_single_benchmark/action.yml | 4 ---- .github/workflows/LINUX_GCC_BUILD_TEST.yml | 2 +- .github/workflows/MAIN.yml | 10 +++++----- .github/workflows/PERFORMANCE_REGRESSION.yml | 16 ++++++++++++---- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index 27cec46cb7..e188173031 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -57,14 +57,10 @@ runs: done - echo "total time $total_time" - echo "runs ${{ inputs.runs }}" - # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) echo "Final average time of ${{ inputs.runs }} runs: $average_time" - echo "yayaya avg_${benchmark_name%%_*}" echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_GCC_BUILD_TEST.yml index b7aa011075..28649b11d9 100644 --- a/.github/workflows/LINUX_GCC_BUILD_TEST.yml +++ b/.github/workflows/LINUX_GCC_BUILD_TEST.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # ] compiler names + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 08fe6912a5..26691023c5 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -22,11 +22,11 @@ jobs: # secrets: inherit # NOTE: currently doens't work - # DEBUG_MACOS: - # uses: ./.github/workflows/MACOS_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit + DEBUG_MACOS: + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit # DEBUG_MACOS_CLANG: # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index 481da1a60c..c47b12e0fd 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -161,7 +161,9 @@ jobs: CLOVERLEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.CLOVERLEAF_AVG }}" | bc) CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) - echo "Threshold: +- CLOVERLEAF_THRESHOLD" + echo "Previous Average: ${{ env.CLOVERLEAF_AVG }}" + echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" + echo "Threshold: ${CLOVERLEAF_THRESHOLD}" if [ 1 -eq "$(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l)" ]; then echo "CLOVERLEAF time difference exceeds 5% threshold!" @@ -180,7 +182,9 @@ jobs: MINIBUDE_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.MINIBUDE_AVG }}" | bc) MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) - echo "Threshold: +- MINIBUDE_THRESHOLD" + echo "Previous Average: ${{ env.MINIBUDE_AVG }}" + echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" + echo "Threshold: ${MINIBUDE_THRESHOLD}" if [ 1 -eq "$(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l)" ]; then echo "MINIBUDE time difference exceeds 5% threshold!" @@ -199,7 +203,9 @@ jobs: STREAM_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.STREAM_AVG }}" | bc) STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) - echo "Threshold: +- STREAM_THRESHOLD" + echo "Previous Average: ${{ env.STREAM_AVG }}" + echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" + echo "Threshold: ${STREAM_THRESHOLD}" if [ 1 -eq "$(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l)" ]; then echo "STREAM time difference exceeds 5% threshold!" @@ -222,7 +228,9 @@ jobs: TEALEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.TEALEAF_AVG }}" | bc) TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) - echo "Threshold: +- $TEALEAF_THRESHOLD" + echo "Previous Average: ${{ env.TEALEAF_AVG }}" + echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" + echo "Threshold: ${TEALEAF_THRESHOLD}" if [ 1 -eq "$(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l)" ]; then echo "TEALEAF time difference exceeds 5% threshold!" From 83d1274ec00aa9978cb99a42d2e7c10ec7842ddc Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:59:03 +0100 Subject: [PATCH 147/254] minor bug fixes for macos (clang and gcc) and minor bug fixes for tealeaf --- .github/actions/setup_gcc_macos/action.yml | 3 +- .github/workflows/ARMCLANG_TEST.yml | 53 --------- ...CC_BUILD_TEST.yml => LINUX_BUILD_TEST.yml} | 0 .github/workflows/MACOS_BUILD_TEST.yml | 8 +- .github/workflows/MACOS_CLANG_BUILD_TEST.yml | 102 ------------------ .github/workflows/MAIN.yml | 30 ++---- .github/workflows/PERFORMANCE_REGRESSION.yml | 6 +- 7 files changed, 15 insertions(+), 187 deletions(-) delete mode 100644 .github/workflows/ARMCLANG_TEST.yml rename .github/workflows/{LINUX_GCC_BUILD_TEST.yml => LINUX_BUILD_TEST.yml} (100%) delete mode 100644 .github/workflows/MACOS_CLANG_BUILD_TEST.yml diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index a43d3bb170..76f9e37297 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -45,7 +45,8 @@ runs: if [[ ${{ inputs.MODE }} == "Release" ]]; then cmake --build build -j $(sysctl -n hw.ncpu) else - cmake --build build -j 1 + echo "cores: $(sysctl -n hw.ncpu)" + cmake --build build -j 5 fi cmake --build build --target install diff --git a/.github/workflows/ARMCLANG_TEST.yml b/.github/workflows/ARMCLANG_TEST.yml deleted file mode 100644 index 9a232ff5e1..0000000000 --- a/.github/workflows/ARMCLANG_TEST.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: ARMCLANG_TEST - -############################################ -# Note: this mus be rewrite as this doesn't work because github actions does not currently provide arm based runners -# Note: Currently the best option is having a self hosted runner (arm based node) on the zoo (zoo is not up and runner as of writing this) -############################################ - -env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - LLVM-VERSION: 14 - BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - -on: - pull_request: - - -jobs: - Build_and_Run: - runs-on: macos-14 - - strategy: - fail-fast: false - matrix: - # OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images - OS: ['ubuntu:22.04'] # Docker images - - name: "${{ matrix.OS }} + ARMCLANG" - - container: - image: ${{ matrix.OS }} - steps: - ####################################### - # Clones repo to workspace. - ####################################### - - name: checkout v4 - uses: actions/checkout@v4 - - - name: INFO - run: | - cat /etc/os-release - uname -a - - ####################################### - # Depending on OS and compiler, this step chooses the correct setup action to run. - ####################################### - - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_env - with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} - OS: ubuntu - COMPILER: armclang - - diff --git a/.github/workflows/LINUX_GCC_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml similarity index 100% rename from .github/workflows/LINUX_GCC_BUILD_TEST.yml rename to .github/workflows/LINUX_BUILD_TEST.yml diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 162ba310ed..f567cba38a 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -52,11 +52,11 @@ jobs: echo "_______________________________________" cmake --version echo "_______________________________________" - "${{ env.COMPILER }}" --version - which gcc + "${{ env.C_COMPILER }}" --version + which ${{ env.C_COMPILER }} echo "_______________________________________" - "${{ env.COMPILER_PLUS_PLUS }}" --version - which g++ + "${{ env.CPP_COMPILER }}" --version + which ${{ env.CPP_COMPILER }} echo "_______________________________________" ####################################### diff --git a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml b/.github/workflows/MACOS_CLANG_BUILD_TEST.yml deleted file mode 100644 index a4ac24b653..0000000000 --- a/.github/workflows/MACOS_CLANG_BUILD_TEST.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: MACOS_CLANG_BUILD_TEST - -on: - workflow_call: - inputs: - SIMENG-MODE: - required: true - type: string - - -env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - LLVM-VERSION: 14 - BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - PAT: ${{ secrets.SIMENGUOB_PAT }} - - -jobs: - Build_and_Run: - runs-on: macos-13 - - name: ${{ inputs.SIMENG-MODE }} + "macos-13 + apple_clang_15" - - steps: - ####################################### - # Clones repo to workspace. - ####################################### - - name: checkout v4 - uses: actions/checkout@v4 - - ####################################### - # Depending on OS and compiler, this step chooses the correct setup action to run. - ####################################### - - name: setup compiler and OS env + build simeng - uses: ./.github/actions/select_setup - with: - OS: 'macos' - COMPILER: 'apple_clang' - LLVM-VERSION: ${{ env.LLVM-VERSION }} - MODE: ${{ inputs.SIMENG-MODE }} - - ####################################### - # Prints out info in isolated step for easy access. - ####################################### - - name: INFO - shell: bash - run: | - echo "_______________________________________" - cmake --version - echo "_______________________________________" - "${{ env.APPLE_CLANG_DIR }}" --version - which ${{ env.APPLE_CLANG_DIR }} - echo "_______________________________________" - "${{ env.APPLE_CLANG_PLUS_PLUS_DIR }}" --version - which ${{ env.APPLE_CLANG_PLUS_PLUS_DIR }} - echo "_______________________________________" - - ####################################### - # Run Integration Tests. - ####################################### - - name: Integration Tests - shell: bash - run: | - ./build/test/integration/integrationtests - - ####################################### - # Run Unit Tests. - ####################################### - - name: Unit Tests - shell: bash - run: | - ./build/test/unit/unittests - - ####################################### - # Run Regression AARCH64 Tests. - ####################################### - - name: regression test (aarch64) - if: always() - shell: bash - run: | - ./build/test/regression/aarch64/regression-aarch64 - - ####################################### - # Run Regression RISCV Tests. - ####################################### - - name: regression test (riscv) - if: always() - shell: bash - run: | - ./build/test/regression/riscv/regression-riscv - - ####################################### - # Run Benchmark Tests. - ####################################### - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: run benchmarks - uses: ./.github/actions/simeng_benchmarks - with: - BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - OS: macos - PAT: ${{ env.PAT }} - ########################################## \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 26691023c5..cd946a80d8 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -15,8 +15,8 @@ jobs: ################################### # Debug Mode ################################### - # DEBUG_LINUX_GCC: - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # DEBUG_LINUX: + # uses: ./.github/workflows/LINUX_BUILD_TEST.yml # with: # SIMENG-MODE: Debug # secrets: inherit @@ -28,17 +28,11 @@ jobs: SIMENG-MODE: Debug secrets: inherit - # DEBUG_MACOS_CLANG: - # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit - ################################### # Release Mode ################################### - # RELEASE_LINUX_GCC: - # uses: ./.github/workflows/LINUX_GCC_BUILD_TEST.yml + # RELEASE_LINUX: + # uses: ./.github/workflows/LINUX_BUILD_TEST.yml # with: # SIMENG-MODE: Release # secrets: inherit @@ -49,12 +43,6 @@ jobs: # SIMENG-MODE: Release # secrets: inherit - # RELEASE_MACOS_CLANG: - # uses: ./.github/workflows/MACOS_CLANG_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit - ################################### # Compare runtime with Previous run time ################################### @@ -71,12 +59,10 @@ jobs: # CLANG_FORMAT: # needs: - # - DEBUG_LINUX_GCC - # # - DEBUG_MACOS_GCC - # - DEBUG_MACOS_CLANG - # - RELEASE_LINUX_GCC - # # - RELEASE_MACOS_GCC - # - RELEASE_MACOS_CLANG + # - RELEASE_LINUX + # - DEBUG_LINUX + # - RELEASE_MACOS + # - DEBUG_MACOS # - PERFORMANCE_REGRESSION # uses: ./.github/workflows/CLANG_FORMAT.yml diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index c47b12e0fd..c073878dfb 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -113,10 +113,6 @@ jobs: datafile_path: ${{ env.CLOVERLEAF_DATAFILE }} runs: ${{ env.RUNS }} - - name: print - run: | - echo "HERERERERE" - ####################################### # miniBUDE ####################################### @@ -221,7 +217,7 @@ jobs: run: | CURRENT_AVERAGE=${avg_tealeaf} - TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) + TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.TEALEAF_AVG }} * 0.05" | bc) # TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - ${{ env.TEALEAF_AVG }}" | bc) From 7a93a744501e69d444fd1ab4d04d2adad960fc12 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:42:39 +0100 Subject: [PATCH 148/254] clean up --- .github/actions/setup_armclang_debian/action.yml | 1 + .github/actions/setup_armclang_redhat/action.yml | 1 + .github/actions/setup_armclang_rocky/action.yml | 1 + .github/actions/setup_armclang_ubuntu/action.yml | 1 + .github/workflows/AVERAGE.yml | 2 +- .github/workflows/MAIN.yml | 4 ++++ 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index e8d8f4f3d2..32cfb2cf0c 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -58,6 +58,7 @@ runs: # Install ArmClang ####################################### - name: Install armclang + shell: bash run: | apt-get update apt-get upgrade -y diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index 0a092e07d5..87f6eb1d1e 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -57,6 +57,7 @@ runs: # Install ArmClang ###################################### - name: Install armclang + shell: bash run: | dnf install -y environment-modules diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 1c42f57f40..99a28d7af3 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -50,6 +50,7 @@ runs: # Install ArmClang ###################################### - name: Install armclang + shell: bash run: | dnf install -y environment-modules diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index 6219bb4da3..d9987f1fa7 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -68,6 +68,7 @@ runs: # Install ArmClang ####################################### - name: Install armclang + shell: bash run: | apt-get update apt-get upgrade -y diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 79a29f105a..aadba6faa4 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -1,7 +1,7 @@ name: Finds Averages Of Benchmarks on: - workflow_call: + workflow_dispatch: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index cd946a80d8..24b0dcea08 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -6,6 +6,10 @@ on: push: # branches: # - dev + + # pull_request: + # branches: + # - main schedule: - cron: '0 0 */6 * *' # Runs every 6 days From af000e5d5cdb23f1d68ed70ee503ac362a9c5cc6 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:43:23 +0100 Subject: [PATCH 149/254] final test --- .github/workflows/MAIN.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 24b0dcea08..df64b6a9be 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -19,11 +19,11 @@ jobs: ################################### # Debug Mode ################################### - # DEBUG_LINUX: - # uses: ./.github/workflows/LINUX_BUILD_TEST.yml - # with: - # SIMENG-MODE: Debug - # secrets: inherit + DEBUG_LINUX: + uses: ./.github/workflows/LINUX_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit # NOTE: currently doens't work DEBUG_MACOS: @@ -35,17 +35,17 @@ jobs: ################################### # Release Mode ################################### - # RELEASE_LINUX: - # uses: ./.github/workflows/LINUX_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit + RELEASE_LINUX: + uses: ./.github/workflows/LINUX_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit - # RELEASE_MACOS: - # uses: ./.github/workflows/MACOS_BUILD_TEST.yml - # with: - # SIMENG-MODE: Release - # secrets: inherit + RELEASE_MACOS: + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit ################################### # Compare runtime with Previous run time From 95b85cb4badd7718da5789d34354c1a0c740a152 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:49:13 +0100 Subject: [PATCH 150/254] added armclang actions to setup action for selection --- .github/actions/select_setup/action.yml | 40 ++++++++++++++++++++----- .github/workflows/MAIN.yml | 5 ++-- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 6102d2f300..8ce8992992 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -68,24 +68,48 @@ runs: MODE: ${{ inputs.mode }} ########################################## - # ARMCLANG jobs - # NOTE: DOENS'T WORK RIGHT NOW NEED TO SET UP ARM BASED SELF-HOSTED RUNNER + # APPLE CLANG ########################################## - - if: ${{ contains( inputs.COMPILER, 'gcc') && contains( inputs.OS, 'macos') }} + + - if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }} name: Install ${{ inputs.COMPILER }} + Build SimEng - uses: ./.github/actions/setup_gcc_macos + uses: ./.github/actions/setup_clang_macos with: OS: ${{ inputs.OS }} - gcc-version: ${{ inputs.COMPILER }} MODE: ${{ inputs.mode }} ########################################## - # APPLE CLANG + # ARM CLANG ########################################## - - if: ${{ contains( inputs.COMPILER, 'clang') && contains( inputs.OS, 'macos') }} + # ubuntu + - if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'ubuntu') }} name: Install ${{ inputs.COMPILER }} + Build SimEng - uses: ./.github/actions/setup_clang_macos + uses: ./.github/actions/setup_armclang_ubuntu + with: + OS: ${{ inputs.OS }} + MODE: ${{ inputs.mode }} + + # debian + - if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'debian') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_armclang_debian + with: + OS: ${{ inputs.OS }} + MODE: ${{ inputs.mode }} + + # redhat + - if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'redhat') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_armclang_redhat + with: + OS: ${{ inputs.OS }} + MODE: ${{ inputs.mode }} + + # rocky + - if: ${{ contains( inputs.COMPILER, 'armclang') && contains( inputs.OS, 'rocky') }} + name: Install ${{ inputs.COMPILER }} + Build SimEng + uses: ./.github/actions/setup_armclang_rocky with: OS: ${{ inputs.OS }} MODE: ${{ inputs.mode }} \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index df64b6a9be..1af5b89ad4 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -25,7 +25,6 @@ jobs: SIMENG-MODE: Debug secrets: inherit - # NOTE: currently doens't work DEBUG_MACOS: uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: @@ -51,8 +50,8 @@ jobs: # Compare runtime with Previous run time ################################### PERFORMANCE_REGRESSION: - # needs: - # - RELEASE_LINUX_GCC + needs: + - RELEASE_LINUX uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml with: From d48f01a97bec34b151da20f5ba3ab5b29afbacd0 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:51:03 +0100 Subject: [PATCH 151/254] final test --- .github/workflows/MAIN.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 1af5b89ad4..877a58b436 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -37,6 +37,7 @@ jobs: RELEASE_LINUX: uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: + RUNNER: ubuntu-latest SIMENG-MODE: Release secrets: inherit From b4496c396429992fff2cc30f8da07c6df314c588 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:51:42 +0100 Subject: [PATCH 152/254] final final test --- .github/workflows/MAIN.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 877a58b436..0afe5c3146 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -22,6 +22,7 @@ jobs: DEBUG_LINUX: uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: + RUNNER: ubuntu-latest SIMENG-MODE: Debug secrets: inherit From 5b4c089b1e744935e2b69bca8efec68f8ce32b16 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:44:27 +0100 Subject: [PATCH 153/254] removed some commented out stuff and swapped to trigger main.yml only on pr to main --- .github/workflows/AVERAGE.yml | 4 ++- .github/workflows/MAIN.yml | 7 ++--- .github/workflows/PERFORMANCE_REGRESSION.yml | 30 -------------------- 3 files changed, 6 insertions(+), 35 deletions(-) diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index aadba6faa4..1335528977 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -2,11 +2,13 @@ name: Finds Averages Of Benchmarks on: workflow_dispatch: + # push: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} + RUNS: 100 jobs: AVERAGE: @@ -89,7 +91,7 @@ jobs: output_file="benchmark_output.txt" total_time=0 - runs=100 + runs=${{ env.RUNS }} cd "${{ github.workspace }}/$benchmark_path" diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 0afe5c3146..37b197e87e 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -7,9 +7,9 @@ on: # branches: # - dev - # pull_request: - # branches: - # - main + pull_request: + branches: + - main schedule: - cron: '0 0 */6 * *' # Runs every 6 days @@ -59,7 +59,6 @@ jobs: with: # Number of runs of current commit to average over to compare to previous average hard coded as env vars RUNS: 10 - secrets: inherit # CLANG_FORMAT: diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml index c073878dfb..b7571bbcd7 100644 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ b/.github/workflows/PERFORMANCE_REGRESSION.yml @@ -236,33 +236,3 @@ jobs: else echo "TEALEAF runtime is within threshold of 5%!" fi - - # ####################################### - # # Summary - # ####################################### - # - name: Summary - # shell: bash - # run: | - # echo "#############################################" - # echo "CLOVERLEAF (cloverleaf_gcc10.3.0_armv8.4+sve)" - # echo "Current Time: $CLOVERLEAF_CURRENT_TIME" - # echo "Average Time: ${{ env.CLOVERLEAF_AVG }}" - # echo "Absolute Difference: $CLOVERLEAF_DIFFERENCE" - - # echo "#############################################" - # echo "MINIBUDE (minibude_gcc10.3.0_armv8.4+sve)" - # echo "Current Time: $MINIBUDE_CURRENT_TIME" - # echo "Average Time: ${{ env.MINIBUDE_AVG }}" - # echo "Absolute Difference: $MINIBUDE_DIFFERENCE" - - # echo "#############################################" - # echo "STREAM (stream_gcc10.3.0_armv8.4+sve)" - # echo "Current Time: $STREAM_CURRENT_TIME" - # echo "Average Time: ${{ env.STREAM_AVG }}" - # echo "Absolute Difference: $STREAM_DIFFERENCE" - - # echo "#############################################" - # echo "TEALEAF (tealeaf_gcc10.3.0_armv8.4+sve)" - # echo "Current Time: $TEALEAF_CURRENT_TIME" - # echo "Average Time: ${{ env.TEALEAF_AVG }}" - # echo "Absolute Difference: $TEALEAF_DIFFERENCE" \ No newline at end of file From 122252f13c296c91bb9dfe2b4e6680e4682f1cce Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:45:25 +0100 Subject: [PATCH 154/254] removed push trigger from main.yml --- .github/workflows/MAIN.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 37b197e87e..03634de82b 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -3,7 +3,7 @@ name: Build_Test_SimEng on: # workflow_call: - push: + # push: # branches: # - dev From bd3cd6179112f8f856ba1ee687adb52ff721a0a3 Mon Sep 17 00:00:00 2001 From: Leo Lai <93748760+haelai77@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:59:43 +0100 Subject: [PATCH 155/254] removed some uneccessary arguments and added descriptions to arguments --- .github/actions/select_setup/action.yml | 4 +--- .github/actions/setup_armclang_debian/action.yml | 2 ++ .github/actions/setup_armclang_redhat/action.yml | 2 ++ .github/actions/setup_armclang_rocky/action.yml | 2 ++ .github/actions/setup_armclang_ubuntu/action.yml | 4 +++- .github/actions/setup_clang_macos/action.yml | 3 ++- .github/actions/setup_gcc_debian/action.yml | 3 +++ .github/actions/setup_gcc_macos/action.yml | 3 +++ .github/actions/setup_gcc_redhat/action.yml | 3 +++ .github/actions/setup_gcc_rocky/action.yml | 3 +++ .github/actions/setup_gcc_ubuntu/action.yml | 3 +++ .github/actions/simeng_benchmarks/action.yml | 3 +++ .github/workflows/AVERAGE.yml | 4 ++-- .github/workflows/CLANG_FORMAT.yml | 1 + .github/workflows/LINUX_BUILD_TEST.yml | 1 - .github/workflows/MACOS_BUILD_TEST.yml | 2 -- .github/workflows/MAIN.yml | 2 +- 17 files changed, 34 insertions(+), 11 deletions(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 8ce8992992..9c99b77ea9 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -8,9 +8,7 @@ description: installs dependencies and correct armclang version to build and tes inputs: OS: required: true - LLVM-VERSION: - required: true - COMPILER: + COMPILER: required: true MODE: required: true diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index 32cfb2cf0c..afa00d6a37 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -3,8 +3,10 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true MODE: + description: simeng-mode e.g. Release or Debug required: true runs: diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index 87f6eb1d1e..630a590ce5 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -3,8 +3,10 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true MODE: + description: simeng-mode e.g. Release or Debug required: true runs: diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 99a28d7af3..e76d2863c0 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -3,8 +3,10 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true MODE: + description: simeng-mode e.g. Release or Debug required: true runs: diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index d9987f1fa7..c9afee6a1b 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -3,8 +3,10 @@ description: installs dependencies and correct armclang version to build and tes inputs: OS: + description: docker image name required: true - LLVM-VERSION: + MODE: + description: simeng-mode e.g. Release or Debug required: true runs: diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index ccdbe0eb09..7932e0ec3f 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -3,10 +3,11 @@ description: build and test simeng using clang compiler on apple inputs: OS: + description: docker image name required: true MODE: + description: simeng-mode e.g. Release or Debug required: true - runs: using: 'composite' steps: diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml index 1fbc6e41dc..e18afa6cb6 100644 --- a/.github/actions/setup_gcc_debian/action.yml +++ b/.github/actions/setup_gcc_debian/action.yml @@ -3,10 +3,13 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true gcc-version: + description: gcc version required: true MODE: + description: Release or Debug mode required: true runs: diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 76f9e37297..d333cc4cf7 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -3,10 +3,13 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true gcc-version: + description: gcc version required: true MODE: + description: Release or Debug mode required: true runs: diff --git a/.github/actions/setup_gcc_redhat/action.yml b/.github/actions/setup_gcc_redhat/action.yml index 2623aad42f..6e1f2759c6 100644 --- a/.github/actions/setup_gcc_redhat/action.yml +++ b/.github/actions/setup_gcc_redhat/action.yml @@ -3,10 +3,13 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true gcc-version: + description: gcc version required: true MODE: + description: Release or Debug mode required: true runs: diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index b3c19d3f55..4b82ff2378 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -3,10 +3,13 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true gcc-version: + description: gcc version required: true MODE: + description: Release or Debug mode required: true runs: diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 6ba95c4582..3518e61efb 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -3,10 +3,13 @@ description: installs dependencies and correct gcc version to build and test sim inputs: OS: + description: docker image name required: true gcc-version: + description: gcc version required: true MODE: + description: Release or Debug mode required: true runs: diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 87f791223c..de26d00313 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -3,10 +3,13 @@ description: runs simeng benchmarks inputs: BENCHMARK_BRANCH: + description: name of the branch on the benchmark repo you want to checkout required: true OS: + description: docker image name required: true PAT: + description: personal access token required to checkout private benchmark repo required: true runs: diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml index 1335528977..b057046177 100644 --- a/.github/workflows/AVERAGE.yml +++ b/.github/workflows/AVERAGE.yml @@ -100,9 +100,9 @@ jobs: do # Run the benchmark and redirect output to a file if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" fi # Extract the time in milliseconds from the output diff --git a/.github/workflows/CLANG_FORMAT.yml b/.github/workflows/CLANG_FORMAT.yml index 9bc3666135..9446a49b37 100644 --- a/.github/workflows/CLANG_FORMAT.yml +++ b/.github/workflows/CLANG_FORMAT.yml @@ -2,6 +2,7 @@ name: clang format on: workflow_call: + workflow_dispatch: jobs: clang_format: diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 28649b11d9..2075b3766c 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -95,7 +95,6 @@ jobs: - name: setup compiler and OS env + build simeng uses: ./.github/actions/select_setup with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: ${{ matrix.OS }} COMPILER: ${{ matrix.COMPILER }} MODE: ${{ inputs.SIMENG-MODE }} diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index f567cba38a..8d6647eed1 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -9,7 +9,6 @@ on: env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - LLVM-VERSION: 14 BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. PAT: ${{ secrets.SIMENGUOB_PAT }} @@ -38,7 +37,6 @@ jobs: - name: setup compiler and OS env + build simeng uses: ./.github/actions/select_setup with: - LLVM-VERSION: ${{ env.LLVM-VERSION }} OS: macos COMPILER: ${{ matrix.COMPILER }} MODE: ${{ inputs.simeng-mode }} diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 03634de82b..37b197e87e 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -3,7 +3,7 @@ name: Build_Test_SimEng on: # workflow_call: - # push: + push: # branches: # - dev From 2a64dbb354dd960aed2c9c0280a451c936baeb49 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 12:25:10 +0100 Subject: [PATCH 156/254] Trimming down actions to remove performance regression --- .../average_single_benchmark/action.yml | 2 +- .github/workflows/AVERAGE.yml | 124 --------- .github/workflows/CLANG_FORMAT.yml | 42 ---- .github/workflows/MAIN.yml | 38 +-- .github/workflows/PERFORMANCE_REGRESSION.yml | 238 ------------------ 5 files changed, 9 insertions(+), 435 deletions(-) delete mode 100644 .github/workflows/AVERAGE.yml delete mode 100644 .github/workflows/CLANG_FORMAT.yml delete mode 100644 .github/workflows/PERFORMANCE_REGRESSION.yml diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml index e188173031..7ae50c9da4 100644 --- a/.github/actions/average_single_benchmark/action.yml +++ b/.github/actions/average_single_benchmark/action.yml @@ -39,7 +39,7 @@ runs: cd "${{ github.workspace }}/$benchmark_path" - # Loop to run the benchmark 10 times + # Loop to run the benchmark 'runs' times for (( i=1; i<=runs; i++ )) do # Run the benchmark and redirect output to a file diff --git a/.github/workflows/AVERAGE.yml b/.github/workflows/AVERAGE.yml deleted file mode 100644 index b057046177..0000000000 --- a/.github/workflows/AVERAGE.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: Finds Averages Of Benchmarks - -on: - workflow_dispatch: - # push: - -env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - PAT: ${{ secrets.SIMENGUOB_PAT }} - RUNS: 100 - -jobs: - AVERAGE: - strategy: - fail-fast: false - matrix: - - benchmarks: [{path: "simeng-benchmarks/binaries/CloverLeaf/openmp", - name: "cloverleaf_gcc10.3.0_armv8.4+sve", - datafile: "simeng-benchmarks/Data_Files/CloverLeaf"}, - - {path: "simeng-benchmarks/binaries/miniBUDE/openmp", - name: "minibude_gcc10.3.0_armv8.4+sve", - datafile: "simeng-benchmarks/Data_Files/miniBUDE/bm1"}, - - {path: "simeng-benchmarks/binaries/STREAM", - name: "stream_gcc10.3.0_armv8.4+sve", - datafile: ""}, - - {path: "simeng-benchmarks/binaries/TeaLeaf/3d", - name: "tealeaf_gcc10.3.0_armv8.4+sve", - datafile: "simeng-benchmarks/Data_Files/TeaLeaf/3d"}] - - runs-on: ubuntu-latest - - steps: - - name: info - shell: bash - run: | - echo ${{ github.workspace }} - echo ${{ matrix.benchmarks.path }} - echo ${{ matrix.benchmarks.name }} - echo ${{ matrix.benchmarks.datafile }} - ####################################### - # Clone SimEng fork - ####################################### - - name: checkout v4 - uses: actions/checkout@v4 - - - name: install deps - shell: bash - run: | - sudo apt-get -y install gcc-10 g++-10 pip - ####################################### - # Build SimEng without llvm or ninja - ####################################### - - name: Build SimEng - shell: bash - run: | - pip install pyparsing - sudo cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 - - sudo cmake --build build -j $(nproc) - - sudo cmake --build build --target install - - echo "GCC_DIR=/usr/bin/gcc-10" >> $GITHUB_ENV - echo "CPP_DIR=/usr/bin/g++-10" >> $GITHUB_ENV - - ####################################### - # Checkout simeng-benchmark repository - ####################################### - - name: checking out benchmark repository - uses: actions/checkout@v4 - with: - repository: UoB-HPC/simeng-benchmarks - ref: makefile-build-system - token: ${{ env.PAT }} - path: simeng-benchmarks - - ####################################### - # Run benchmark averaging - ####################################### - - name: Run benchmark averaging script - shell: bash - run: | - benchmark_path=${{ matrix.benchmarks.path }} - benchmark_name=${{ matrix.benchmarks.name }} - datafile_path=${{ matrix.benchmarks.datafile }} - - output_file="benchmark_output.txt" - total_time=0 - runs=${{ env.RUNS }} - - cd "${{ github.workspace }}/$benchmark_path" - - # Loop to run the benchmark 10 times - for (( i=1; i<=runs; i++ )) - do - # Run the benchmark and redirect output to a file - if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" - else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" - fi - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "$total_time + $current_time" | bc) - - echo "Run $i: $current_time ms" - done - - # Calculate the average time - average_time=$(echo "scale=2; $total_time / $runs" | bc) - - echo "Average time over $runs runs: $average_time ms" - - # Clean up the output file - sudo rm "$output_file" - \ No newline at end of file diff --git a/.github/workflows/CLANG_FORMAT.yml b/.github/workflows/CLANG_FORMAT.yml deleted file mode 100644 index 9446a49b37..0000000000 --- a/.github/workflows/CLANG_FORMAT.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: clang format - -on: - workflow_call: - workflow_dispatch: - -jobs: - clang_format: - runs-on: ubuntu-latest - name: clang format - - steps: - - - name: Install clang format - run: | - sudo apt-get update - sudo apt-get upgrade - sudo apt-get install -y clang-format - - clang-format --version - - - name: checkout - uses: actions/checkout@v4 - - - name: Apply clang format - run: | - SRC_LIST="$(find "./src" | grep -E ".*(\.cc$|\.hh$)")" - TEST_LIST="$(find "./test" | grep -E ".*(\.cc$|\.hh$)")"; - sudo clang-format --verbose -i $SRC_LIST $TEST_LIST -style=file - - # push changes if clang-format did anything - - name: Check for changes - run: | - if [[ `git status --porcelain` ]]; then - echo "Code formatting issues found." - git config --global user.name 'github-actions-clang-format' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - git commit -am "Applied clang-format" - git push - else - echo "No code formatting issues." - fi \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 37b197e87e..6ab687b240 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -1,18 +1,19 @@ name: Build_Test_SimEng -# description: Build and test simeng on various OS with various compilers followed by benchmarking and a peformance regression test followed by a clang format if all previous workflow succeed +# description: Build and test simeng on various OS with various compilers followed by benchmarking and a performance regression test followed by a clang format if all previous workflow succeed on: - # workflow_call: - push: - # branches: - # - dev +# workflow_call: +# push: +# branches: +# - dev pull_request: branches: + - dev - main - schedule: - - cron: '0 0 */6 * *' # Runs every 6 days +# schedule: +# - cron: '0 0 */6 * *' # Runs every 6 days jobs: @@ -48,27 +49,4 @@ jobs: SIMENG-MODE: Release secrets: inherit - ################################### - # Compare runtime with Previous run time - ################################### - PERFORMANCE_REGRESSION: - needs: - - RELEASE_LINUX - - uses: ./.github/workflows/PERFORMANCE_REGRESSION.yml - with: - # Number of runs of current commit to average over to compare to previous average hard coded as env vars - RUNS: 10 - secrets: inherit - - # CLANG_FORMAT: - # needs: - # - RELEASE_LINUX - # - DEBUG_LINUX - # - RELEASE_MACOS - # - DEBUG_MACOS - # - PERFORMANCE_REGRESSION - - # uses: ./.github/workflows/CLANG_FORMAT.yml - # secrets: inherit diff --git a/.github/workflows/PERFORMANCE_REGRESSION.yml b/.github/workflows/PERFORMANCE_REGRESSION.yml deleted file mode 100644 index b7571bbcd7..0000000000 --- a/.github/workflows/PERFORMANCE_REGRESSION.yml +++ /dev/null @@ -1,238 +0,0 @@ -name: PERFORMANCE_REGRESSION - -on: - workflow_call: - inputs: - RUNS: - default: 10 - required: true - type: number - - -env: - ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true - BENCHMARK_BRANCH: 'make-file-build-system' # The branch inside the benchmark repo that has the script to run all benchmarks. - PAT: ${{ secrets.SIMENGUOB_PAT }} - - # averages - CLOVERLEAF_AVG: 42396.21 - MINIBUDE_AVG: 19414.35 - STREAM_AVG: 7378.78 - TEALEAF_AVG: 55.67 - - # benchmark information - CLOVERLEAF_PATH: "simeng-benchmarks/binaries/CloverLeaf/openmp" - CLOVERLEAF_NAME: "cloverleaf_gcc10.3.0_armv8.4+sve" - CLOVERLEAF_DATAFILE: "simeng-benchmarks/Data_Files/CloverLeaf" - - MINIBUDE_PATH: "simeng-benchmarks/binaries/miniBUDE/openmp" - MINIBUDE_NAME: "minibude_gcc10.3.0_armv8.4+sve" - MINIBUDE_DATAFILE: "simeng-benchmarks/Data_Files/miniBUDE/bm1" - - STREAM_PATH: "simeng-benchmarks/binaries/STREAM" - STREAM_NAME: "stream_gcc10.3.0_armv8.4+sve" - STREAM_DATAFILE: "" - - TEALEAF_PATH: "simeng-benchmarks/binaries/TeaLeaf/3d" - TEALEAF_NAME: "tealeaf_gcc10.3.0_armv8.4+sve" - TEALEAF_DATAFILE: "simeng-benchmarks/Data_Files/TeaLeaf/3d" - - RUNS: ${{ inputs.RUNS }} - - - -jobs: - Compare_Performances: - runs-on: ubuntu-latest - - steps: - ####################################### - # Clone SimEng fork - ####################################### - - name: checkout v4 - uses: actions/checkout@v4 - - - name: install deps - shell: bash - run: | - sudo apt-get -y install bc - sudo apt-get -y install gcc-10 g++-10 pip - ####################################### - # Build SimEng without llvm or ninja - ####################################### - - name: Build SimEng - shell: bash - run: | - pip install pyparsing - sudo cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_COMPILER=/usr/bin/gcc-10 -DCMAKE_CXX_COMPILER=/usr/bin/g++-10 - - sudo cmake --build build -j $(nproc) - - sudo cmake --build build --target install - - echo "C_COMPILER=/usr/bin/gcc-10" >> $GITHUB_ENV - echo "CPP_COMPILER=/usr/bin/g++-10" >> $GITHUB_ENV - - ####################################### - # Prints out info in isolated step for easy access. - ####################################### - - name: INFO - shell: bash - run: | - cat /etc/os-release - echo "_______________________________________" - cmake --version - echo "_______________________________________" - "${{ env.C_COMPILER }}" --version - which gcc - echo "_______________________________________" - "${{ env.CPP_COMPILER }}" --version - which g++ - echo "_______________________________________" - ls - - ####################################### - # Checkout simeng-benchmark repository - ####################################### - - name: checking out benchmark repository - uses: actions/checkout@v4 - with: - repository: UoB-HPC/simeng-benchmarks - ref: makefile-build-system - token: ${{ env.PAT }} - path: simeng-benchmarks - - ####################################### - # Cloverleaf - ####################################### - - name: Average ${{ inputs.RUNS }} runs of cloverleaf benchmark - uses: ./.github/actions/average_single_benchmark - with: - path: ${{ env.CLOVERLEAF_PATH}} - name: ${{ env.CLOVERLEAF_NAME }} - datafile_path: ${{ env.CLOVERLEAF_DATAFILE }} - runs: ${{ env.RUNS }} - - ####################################### - # miniBUDE - ####################################### - - name: Average ${{ inputs.RUNS }} runs of miniBUDE benchmark - uses: ./.github/actions/average_single_benchmark - with: - path: ${{ env.MINIBUDE_PATH }} - name: ${{ env.MINIBUDE_NAME }} - datafile_path: ${{ env.MINIBUDE_DATAFILE }} - runs: ${{ env.RUNS }} - ####################################### - # STREAM - ####################################### - - name: Average ${{ inputs.RUNS }} runs of stream benchmark - uses: ./.github/actions/average_single_benchmark - with: - path: ${{ env.STREAM_PATH }} - name: ${{ env.STREAM_NAME }} - datafile_path: ${{ env.STREAM_DATAFILE }} - runs: ${{ env.RUNS }} - ####################################### - # TeaLeaf - ####################################### - - name: Average ${{ inputs.RUNS }} runs of TeaLeaf benchmark - uses: ./.github/actions/average_single_benchmark - with: - path: ${{ env.TEALEAF_PATH }} - name: ${{ env.TEALEAF_NAME }} - datafile_path: ${{ env.TEALEAF_DATAFILE }} - runs: ${{ env.RUNS }} - - ####################################### - # Compare Results: 5% acceptance rate - ####################################### - # Should be average - - if: ${{ always() }} - name: Check CLOVERLEAF threshold - run: | - CURRENT_AVERAGE=${avg_cloverleaf} - - CLOVERLEAF_THRESHOLD=$(echo "scale=2; ${{ env.CLOVERLEAF_AVG }} * 0.05" | bc) - CLOVERLEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.CLOVERLEAF_AVG }}" | bc) - CLOVERLEAF_ABS_DIFF=$(echo "if($CLOVERLEAF_DIFF < 0) -1*$CLOVERLEAF_DIFF else $CLOVERLEAF_DIFF" | bc) - - echo "Previous Average: ${{ env.CLOVERLEAF_AVG }}" - echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" - echo "Threshold: ${CLOVERLEAF_THRESHOLD}" - - if [ 1 -eq "$(echo "$CLOVERLEAF_ABS_DIFF > $CLOVERLEAF_THRESHOLD" | bc -l)" ]; then - echo "CLOVERLEAF time difference exceeds 5% threshold!" - echo "Previous Average: ${{ env.CLOVERLEAF_AVG }} ms" - exit 1 - else - echo "CLOVERLEAF runtime is within threshold of 5%!" - fi - - - if: ${{ always() }} - name: Check MINIBUDE threshold - run: | - CURRENT_AVERAGE=${avg_minibude} - - MINIBUDE_THRESHOLD=$(echo "scale=2; ${{ env.MINIBUDE_AVG }} * 0.05" | bc) - MINIBUDE_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.MINIBUDE_AVG }}" | bc) - MINIBUDE_ABS_DIFF=$(echo "if($MINIBUDE_DIFF < 0) -1*$MINIBUDE_DIFF else $MINIBUDE_DIFF" | bc) - - echo "Previous Average: ${{ env.MINIBUDE_AVG }}" - echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" - echo "Threshold: ${MINIBUDE_THRESHOLD}" - - if [ 1 -eq "$(echo "$MINIBUDE_ABS_DIFF > $MINIBUDE_THRESHOLD" | bc -l)" ]; then - echo "MINIBUDE time difference exceeds 5% threshold!" - echo "Previous Average: ${{ env.MINIBUDE_AVG }} ms" - exit 1 - else - echo "MINIBUDE runtime is within threshold of 5%!" - fi - - - if: ${{ always() }} - name: Check STREAM threshold - run: | - CURRENT_AVERAGE=${avg_stream} - - STREAM_THRESHOLD=$(echo "scale=2; ${{ env.STREAM_AVG }} * 0.05" | bc) - STREAM_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.STREAM_AVG }}" | bc) - STREAM_ABS_DIFF=$(echo "if($STREAM_DIFF < 0) -1*$STREAM_DIFF else $STREAM_DIFF" | bc) - - echo "Previous Average: ${{ env.STREAM_AVG }}" - echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" - echo "Threshold: ${STREAM_THRESHOLD}" - - if [ 1 -eq "$(echo "$STREAM_ABS_DIFF > $STREAM_THRESHOLD" | bc -l)" ]; then - echo "STREAM time difference exceeds 5% threshold!" - echo "Previous Average: ${{ env.STREAM_AVG }} ms" - - exit 1 - else - echo "STREAM runtime is within threshold of 5%!" - fi - - - if: ${{ always() }} - name: Check TEALEAF threshold - run: | - CURRENT_AVERAGE=${avg_tealeaf} - - TEALEAF_THRESHOLD=$(echo "scale=2; ${{ env.TEALEAF_AVG }} * 0.05" | bc) - - # TEALEAF_DIFF=$(echo "scale=2; $TEALEAF_CURRENT_TIME - ${{ env.TEALEAF_AVG }}" | bc) - - TEALEAF_DIFF=$(echo "scale=2; ${CURRENT_AVERAGE} - ${{ env.TEALEAF_AVG }}" | bc) - TEALEAF_ABS_DIFF=$(echo "if($TEALEAF_DIFF < 0) -1*$TEALEAF_DIFF else $TEALEAF_DIFF" | bc) - - echo "Previous Average: ${{ env.TEALEAF_AVG }}" - echo "Average of 10 runs from current commit: $CURRENT_AVERAGE" - echo "Threshold: ${TEALEAF_THRESHOLD}" - - if [ 1 -eq "$(echo "$TEALEAF_ABS_DIFF > $TEALEAF_THRESHOLD" | bc -l)" ]; then - echo "TEALEAF time difference exceeds 5% threshold!" - echo "Average of current commit: ${CURRENT_AVERAGE} ms" - echo "Previous Average: ${{ env.TEALEAF_AVG }} ms" - exit 1 - else - echo "TEALEAF runtime is within threshold of 5%!" - fi From 7cf58ba9490abdfd79557004601966b8db955067 Mon Sep 17 00:00:00 2001 From: Finn Wilkinson <56131608+FinnWilkinson@users.noreply.github.com> Date: Fri, 20 Sep 2024 09:36:11 +0100 Subject: [PATCH 157/254] Added cstdint header to Register.hh (#427) --- src/include/simeng/Register.hh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/include/simeng/Register.hh b/src/include/simeng/Register.hh index 4b60772e60..5758d8e67b 100644 --- a/src/include/simeng/Register.hh +++ b/src/include/simeng/Register.hh @@ -1,4 +1,5 @@ #pragma once +#include #include namespace simeng { @@ -26,4 +27,4 @@ struct Register { bool operator!=(const Register& other) const { return !(other == *this); } }; -} // namespace simeng \ No newline at end of file +} // namespace simeng From c115f16e756781b0396144317a6e46ea691ba930 Mon Sep 17 00:00:00 2001 From: Finn Wilkinson <56131608+FinnWilkinson@users.noreply.github.com> Date: Fri, 20 Sep 2024 09:37:00 +0100 Subject: [PATCH 158/254] AppleClang 16 SimInfo LTO fix (#430) --- src/include/simeng/config/SimInfo.hh | 119 ++++--------------------- src/lib/CMakeLists.txt | 1 + src/lib/config/SimInfo.cc | 126 +++++++++++++++++++++++++++ 3 files changed, 146 insertions(+), 100 deletions(-) create mode 100644 src/lib/config/SimInfo.cc diff --git a/src/include/simeng/config/SimInfo.hh b/src/include/simeng/config/SimInfo.hh index 75ee342709..7e6b6df9d7 100644 --- a/src/include/simeng/config/SimInfo.hh +++ b/src/include/simeng/config/SimInfo.hh @@ -25,155 +25,74 @@ class SimInfo { public: /** A getter function to retrieve the ryml::Tree representing the underlying * model config file. */ - static ryml::ConstNodeRef getConfig() { - return getInstance()->validatedConfig_.crootref(); - } + static ryml::ConstNodeRef getConfig(); /** A setter function to set the model config file from a path to a YAML file. */ - static void setConfig(std::string path) { getInstance()->makeConfig(path); } + static void setConfig(std::string path); /** A function to add additional config values to the model config file. */ - static void addToConfig(std::string configAdditions) { - getInstance()->modelConfig_.addConfigOptions(configAdditions); - // Replace the validated config with new instance with the supplied - // additional values - getInstance()->validatedConfig_ = getInstance()->modelConfig_.getConfig(); - // Update previously extracted values from the config file - getInstance()->extractValues(); - } + static void addToConfig(std::string configAdditions); /** A function to generate a default config file based on a passed ISA. */ - static void generateDefault(ISA isa, bool force = false) { - if (isa == ISA::AArch64) - getInstance()->modelConfig_.reGenerateDefault(ISA::AArch64, force); - else if (isa == ISA::RV64) - getInstance()->modelConfig_.reGenerateDefault(ISA::RV64, force); - - // Update config path to be the default string - getInstance()->configFilePath_ = DEFAULT_STR; - - // Replace the validated config with the new default config - getInstance()->validatedConfig_ = getInstance()->modelConfig_.getConfig(); - // Update previously extracted values from the config file - getInstance()->extractValues(); - } + static void generateDefault(ISA isa, bool force = false); /** A getter function to retrieve the config file path. */ - static std::string getConfigPath() { return getInstance()->configFilePath_; } + static std::string getConfigPath(); /** A getter function to retrieve the simulation mode of the current SimEng * instance. */ - static SimulationMode getSimMode() { return getInstance()->mode_; } + static SimulationMode getSimMode(); /** A getter function to retrieve the simulation mode of the current SimEng * instance as a string. */ - static std::string getSimModeStr() { return getInstance()->modeStr_; } + static std::string getSimModeStr(); /** A getter function to retrieve which ISA the current simulation is using. */ - static ISA getISA() { return getInstance()->isa_; } + static ISA getISA(); /** A getter function to retrieve which ISA the current simulation is using in * a string format. */ - static std::string getISAString() { return getInstance()->isaString_; } + static std::string getISAString(); /** A getter function to retrieve a vector of {size, number} pairs describing * the available architectural registers. */ - static const std::vector& getArchRegStruct() { - return getInstance()->archInfo_->getArchRegStruct(); - } + static const std::vector& getArchRegStruct(); /** A getter function to retrieve a vector of {size, number} pairs describing * the available physical registers. */ - static const std::vector& getPhysRegStruct() { - return getInstance()->archInfo_->getPhysRegStruct(); - } + static const std::vector& getPhysRegStruct(); /** A getter function to retrieve a vector of uint16_t values describing * the quantities of physical registers available. */ - static const std::vector& getPhysRegQuantities() { - return getInstance()->archInfo_->getPhysRegQuantities(); - } + static const std::vector& getPhysRegQuantities(); /** A getter function to retrieve a vector of Capstone sysreg enums for * all the system registers that should be utilised in simulation. */ - static const std::vector& getSysRegVec() { - return getInstance()->archInfo_->getSysRegEnums(); - } + static const std::vector& getSysRegVec(); /** A getter function to retrieve whether or not the special files * directories should be generated. */ - static bool getGenSpecFiles() { return getInstance()->genSpecialFiles_; } + static bool getGenSpecFiles(); /** A utility function to rebuild/construct member variables/classes. For use * if the configuration used changes during simulation (e.g. during the * execution of a test suite). */ - static void reBuild() { getInstance()->extractValues(); } + static void reBuild(); private: - SimInfo() { - // Set the validated config file to be the current default config - // generated by the default constructor of ModelConfig - validatedConfig_ = modelConfig_.getConfig(); - extractValues(); - } + SimInfo(); /** Gets the static instance of the SimInfo class. */ - static std::unique_ptr& getInstance() { - static std::unique_ptr SimInfoClass = nullptr; - if (SimInfoClass == nullptr) { - SimInfoClass = std::unique_ptr(new SimInfo()); - } - return SimInfoClass; - } + static std::unique_ptr& getInstance(); /** Create a model config from a passed YAML file path. */ - void makeConfig(std::string path) { - // Recreate the model config instance from the YAML file path - modelConfig_ = ModelConfig(path); - - // Update config path to be the passed path - configFilePath_ = path; - - // Update the validated config file - validatedConfig_ = modelConfig_.getConfig(); - extractValues(); - } + void makeConfig(std::string path); /** A function to extract various values from the generated config file to * populate frequently queried model config values. */ - void extractValues() { - // Get ISA type and set the corresponding ArchInfo class - isaString_ = validatedConfig_["Core"]["ISA"].as(); - if (isaString_ == "AArch64") { - isa_ = ISA::AArch64; - archInfo_ = std::make_unique( - arch::aarch64::ArchInfo(validatedConfig_)); - } else if (isaString_ == "rv64") { - isa_ = ISA::RV64; - archInfo_ = std::make_unique( - arch::riscv::ArchInfo(validatedConfig_)); - } - - // Get Simulation mode - std::string mode = - validatedConfig_["Core"]["Simulation-Mode"].as(); - if (mode == "emulation") { - mode_ = SimulationMode::Emulation; - modeStr_ = "Emulation"; - } else if (mode == "inorderpipelined") { - mode_ = SimulationMode::InOrderPipelined; - modeStr_ = "In-Order Pipelined"; - } else if (mode == "outoforder") { - mode_ = SimulationMode::Outoforder; - modeStr_ = "Out-of-Order"; - } - - // Get if the special files directory should be created - genSpecialFiles_ = - validatedConfig_["CPU-Info"]["Generate-Special-Dir"].as(); - } + void extractValues(); /** The validated model config file represented as a ryml:Tree. */ ryml::Tree validatedConfig_; diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index ae659e2338..3690d7fd1c 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -18,6 +18,7 @@ set(SIMENG_SOURCES branchpredictors/GenericPredictor.cc branchpredictors/PerceptronPredictor.cc config/ModelConfig.cc + config/SimInfo.cc kernel/Linux.cc kernel/LinuxProcess.cc memory/FixedLatencyMemoryInterface.cc diff --git a/src/lib/config/SimInfo.cc b/src/lib/config/SimInfo.cc new file mode 100644 index 0000000000..a4136a00df --- /dev/null +++ b/src/lib/config/SimInfo.cc @@ -0,0 +1,126 @@ +#include "simeng/config/SimInfo.hh" + +namespace simeng { +namespace config { + +ryml::ConstNodeRef SimInfo::getConfig() { + return getInstance()->validatedConfig_.crootref(); +} + +void SimInfo::setConfig(std::string path) { getInstance()->makeConfig(path); } + +void SimInfo::addToConfig(std::string configAdditions) { + getInstance()->modelConfig_.addConfigOptions(configAdditions); + // Replace the validated config with new instance with the supplied + // additional values + getInstance()->validatedConfig_ = getInstance()->modelConfig_.getConfig(); + // Update previously extracted values from the config file + getInstance()->extractValues(); +} + +void SimInfo::generateDefault(ISA isa, bool force) { + if (isa == ISA::AArch64) + getInstance()->modelConfig_.reGenerateDefault(ISA::AArch64, force); + else if (isa == ISA::RV64) + getInstance()->modelConfig_.reGenerateDefault(ISA::RV64, force); + + // Update config path to be the default string + getInstance()->configFilePath_ = DEFAULT_STR; + + // Replace the validated config with the new default config + getInstance()->validatedConfig_ = getInstance()->modelConfig_.getConfig(); + // Update previously extracted values from the config file + getInstance()->extractValues(); +} + +std::string SimInfo::getConfigPath() { return getInstance()->configFilePath_; } + +SimulationMode SimInfo::getSimMode() { return getInstance()->mode_; } + +std::string SimInfo::getSimModeStr() { return getInstance()->modeStr_; } + +ISA SimInfo::getISA() { return getInstance()->isa_; } + +std::string SimInfo::getISAString() { return getInstance()->isaString_; } + +const std::vector& SimInfo::getArchRegStruct() { + return getInstance()->archInfo_->getArchRegStruct(); +} + +const std::vector& SimInfo::getPhysRegStruct() { + return getInstance()->archInfo_->getPhysRegStruct(); +} + +const std::vector& SimInfo::getPhysRegQuantities() { + return getInstance()->archInfo_->getPhysRegQuantities(); +} + +const std::vector& SimInfo::getSysRegVec() { + return getInstance()->archInfo_->getSysRegEnums(); +} + +bool SimInfo::getGenSpecFiles() { return getInstance()->genSpecialFiles_; } + +void SimInfo::reBuild() { getInstance()->extractValues(); } + +SimInfo::SimInfo() { + // Set the validated config file to be the current default config + // generated by the default constructor of ModelConfig + validatedConfig_ = modelConfig_.getConfig(); + extractValues(); +} + +std::unique_ptr& SimInfo::getInstance() { + static std::unique_ptr SimInfoClass = nullptr; + if (SimInfoClass == nullptr) { + SimInfoClass = std::unique_ptr(new SimInfo()); + } + return SimInfoClass; +} + +void SimInfo::makeConfig(std::string path) { + // Recreate the model config instance from the YAML file path + modelConfig_ = ModelConfig(path); + + // Update config path to be the passed path + configFilePath_ = path; + + // Update the validated config file + validatedConfig_ = modelConfig_.getConfig(); + extractValues(); +} + +void SimInfo::extractValues() { + // Get ISA type and set the corresponding ArchInfo class + isaString_ = validatedConfig_["Core"]["ISA"].as(); + if (isaString_ == "AArch64") { + isa_ = ISA::AArch64; + archInfo_ = std::make_unique( + arch::aarch64::ArchInfo(validatedConfig_)); + } else if (isaString_ == "rv64") { + isa_ = ISA::RV64; + archInfo_ = std::make_unique( + arch::riscv::ArchInfo(validatedConfig_)); + } + + // Get Simulation mode + std::string mode = + validatedConfig_["Core"]["Simulation-Mode"].as(); + if (mode == "emulation") { + mode_ = SimulationMode::Emulation; + modeStr_ = "Emulation"; + } else if (mode == "inorderpipelined") { + mode_ = SimulationMode::InOrderPipelined; + modeStr_ = "In-Order Pipelined"; + } else if (mode == "outoforder") { + mode_ = SimulationMode::Outoforder; + modeStr_ = "Out-of-Order"; + } + + // Get if the special files directory should be created + genSpecialFiles_ = + validatedConfig_["CPU-Info"]["Generate-Special-Dir"].as(); +} + +} // namespace config +} // namespace simeng \ No newline at end of file From 27b587e3a9d431cd83f58e219985b41f0b0eaa41 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 12:31:45 +0100 Subject: [PATCH 159/254] Removing Jenkins --- .jenkins/build_arm22.sh | 21 --------- .jenkins/build_gcc10.sh | 21 --------- .jenkins/build_gcc7.sh | 21 --------- .jenkins/build_gcc8.sh | 21 --------- .jenkins/build_gcc9.sh | 21 --------- .jenkins/build_intel19.sh | 23 ---------- .jenkins/build_test_run.sh | 89 -------------------------------------- .jenkins/format.sh | 25 ----------- .jenkins/run.sh | 7 --- 9 files changed, 249 deletions(-) delete mode 100644 .jenkins/build_arm22.sh delete mode 100644 .jenkins/build_gcc10.sh delete mode 100644 .jenkins/build_gcc7.sh delete mode 100644 .jenkins/build_gcc8.sh delete mode 100644 .jenkins/build_gcc9.sh delete mode 100644 .jenkins/build_intel19.sh delete mode 100644 .jenkins/build_test_run.sh delete mode 100644 .jenkins/format.sh delete mode 100644 .jenkins/run.sh diff --git a/.jenkins/build_arm22.sh b/.jenkins/build_arm22.sh deleted file mode 100644 index 0c5452aac5..0000000000 --- a/.jenkins/build_arm22.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Load compilers/libraries -echo "Compiler Armclang 22.0.2" -module use /software/arm64/modulefiles -module load tools/arm-compiler-sles -module load tools/cmake - -## Build, test, and run SimEng -build armclang armclang++ -test -run - -buildRelease armclang armclang++ -test -run diff --git a/.jenkins/build_gcc10.sh b/.jenkins/build_gcc10.sh deleted file mode 100644 index 2886bc4136..0000000000 --- a/.jenkins/build_gcc10.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Load compilers/libraries -echo "Compiler GCC 10" -module swap PrgEnv-cray PrgEnv-gnu -module swap gcc gcc/10.3.0 -module load tools/cmake - -## Build, test, and run SimEng -build gcc g++ -test -run - -buildRelease gcc g++ -test -run diff --git a/.jenkins/build_gcc7.sh b/.jenkins/build_gcc7.sh deleted file mode 100644 index fcbcf35b3a..0000000000 --- a/.jenkins/build_gcc7.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Load compilers/libraries -echo "Compiler GCC 7" -module swap PrgEnv-cray PrgEnv-gnu -module swap gcc gcc/7.3.0 -module load tools/cmake - -## Build, test, and run SimEng -build gcc g++ -test -run - -buildRelease gcc g++ -test -run diff --git a/.jenkins/build_gcc8.sh b/.jenkins/build_gcc8.sh deleted file mode 100644 index d12c4b6a25..0000000000 --- a/.jenkins/build_gcc8.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Load compilers/libraries -echo "Compiler GCC 8" -module swap PrgEnv-cray PrgEnv-gnu -module swap gcc gcc/8.3.0 -module load tools/cmake - -## Build, test, and run SimEng -build gcc g++ -test -run - -buildRelease gcc g++ -test -run diff --git a/.jenkins/build_gcc9.sh b/.jenkins/build_gcc9.sh deleted file mode 100644 index 0597204658..0000000000 --- a/.jenkins/build_gcc9.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Load compilers/libraries -echo "Compiler GCC 9" -module swap PrgEnv-cray PrgEnv-gnu -module swap gcc gcc/9.3.0 -module load tools/cmake - -## Build, test, and run SimEng -build gcc g++ -test -run - -buildRelease gcc g++ -test -run diff --git a/.jenkins/build_intel19.sh b/.jenkins/build_intel19.sh deleted file mode 100644 index 0b14c734f2..0000000000 --- a/.jenkins/build_intel19.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -source .jenkins/build_test_run.sh - -## Download/clean and checkout pull request -checkout - -## Setup environment -PATH=/cm/shared/apps/intel_parallel_studio_xe_2019_update4/compilers_and_libraries_2019.4.243/linux/bin/intel64/:$PATH -export CMAKE_C_COMPILER=icc -export CC=icc -export CMAKE_CXX_COMPILER=icpc -export CXX=icpc - -## Load compilers/libraries -echo "Compiler INTEL 19" -#module load intel-parallel-studio-xe/compilers/64/2019u4/19.0.4 intel-parallel-studio-xe/mpi/64/2019u4/4.243 -export PATH=/home/br-hwaugh/installations/cmake-3.18.5/bin/:$PATH - -## Build, test, and run SimEng -build -test -run diff --git a/.jenkins/build_test_run.sh b/.jenkins/build_test_run.sh deleted file mode 100644 index b76867a2fe..0000000000 --- a/.jenkins/build_test_run.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -# This script is not intended be to run direct but rather to be sourced from other scripts - -## Set up file structure -export SIMENG_TOP="$PWD" -export SIMENG_BUILD="$PWD"/build -export SIMENG_INSTALL="$PWD"/install - -debug () { - echo "MODULES" - module li - echo "CURRENT DIRECTORY" - echo "$PWD" - echo "GIT BRANCH" - git branch - - echo "SIMENG TOP $SIMENG_TOP" - echo "SIMENG BUILD $SIMENG_BUILD" - echo "SIMENG INSTALL $SIMENG_INSTALL" -} - -# If source available clean and checkout, otherwise download -checkout () { - cd "$SIMENG_TOP" || exit - rm -rf build install - mkdir build install -} - -# Build common function -build () { - cd "$SIMENG_TOP" || exit - rm -rf build/* install/* - - cmake -B build -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="$SIMENG_INSTALL" -DSIMENG_ENABLE_TESTS=ON -DSIMENG_USE_EXTERNAL_LLVM=ON -DLLVM_DIR=/home/br-simeng/llvm14.0.5/install-gcc7/lib/cmake/llvm/ -DCMAKE_C_COMPILER=$1 -DCMAKE_CXX_COMPILER=$2 - cmake --build build -j - cmake --build build --target install -} - -# Build common function -buildRelease () { - cd "$SIMENG_TOP" || exit - rm -rf build/* install/* - - cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$SIMENG_INSTALL" -DSIMENG_ENABLE_TESTS=ON -DSIMENG_USE_EXTERNAL_LLVM=ON -DLLVM_DIR=/home/br-simeng/llvm14.0.5/install-gcc7/lib/cmake/llvm/ -DCMAKE_C_COMPILER=$1 -DCMAKE_CXX_COMPILER=$2 - cmake --build build -j - cmake --build build --target install -} - -# Run tests -test () { - cd "$SIMENG_BUILD" || exit - ./test/unit/unittests --gtest_output=xml:unittests.xml || true - ./test/regression/aarch64/regression-aarch64 --gtest_output=xml:regressiontests.xml || true - ./test/regression/riscv/regression-riscv --gtest_output=xml:regressiontests.xml || true -} - -# Run default program with and without specified configuration -# Space needed before 'retired' and 'cycles' to differentiate from other -# subfeilds. E.g., 'branches.retired' -run () { - cd "$SIMENG_INSTALL" || exit - - ./bin/simeng > run - echo "Simulation without configuration file argument:" - cat run - echo "" - compare_outputs "$(grep " retired:" run | rev | cut -d ' ' -f1 | rev)" "6721" "retired instructions" - compare_outputs "$(grep " cycles:" run | rev | cut -d ' ' -f1 | rev)" "6721" "simulated cycles" - echo "" - - ./bin/simeng "$SIMENG_TOP"/configs/tx2.yaml > run - echo "Simulation with configuration file argument:" - cat run - echo "" - compare_outputs "$(grep " retired:" run | rev | cut -d ' ' -f1 | rev)" "6724" "retired instructions" - compare_outputs "$(grep " cycles:" run | rev | cut -d ' ' -f1 | rev)" "7867" "simulated cycles" - echo "" -} - -# Helper function for checking outputs -compare_outputs() { - if [[ $1 != $2 ]] - then - echo "ERROR: ${STAGE_NAME} run failed due to an incorrect number of $3." - echo -e "\tExpect \"$2\"" - echo -e "\tGot \"$1\"" - exit 1 - fi -} diff --git a/.jenkins/format.sh b/.jenkins/format.sh deleted file mode 100644 index 46e979bc43..0000000000 --- a/.jenkins/format.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -module swap PrgEnv-cray PrgEnv-gnu -module use /lustre/projects/bristol/modules-a64fx/modulefiles/ -module load llvm/11.0 - -git-clang-format --diff origin/main --extensions cc,hh > FORMATTING - -# Check whether any source files were modified -if grep 'no modified files to format' FORMATTING -then - exit 0 -fi - -# Check whether any formatting changes are necessary -if grep 'clang-format did not modify any files' FORMATTING -then - exit 0 -fi - -echo "" -echo "Code formatting issues detected (see below)." -echo "" -cat FORMATTING -exit 1 \ No newline at end of file diff --git a/.jenkins/run.sh b/.jenkins/run.sh deleted file mode 100644 index bb70cbe31b..0000000000 --- a/.jenkins/run.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -pwd - -source .jenkins/build_test_run.sh - -run From 36c45df949c60be5af8951e301a5202ccfbb336c Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 16:45:05 +0100 Subject: [PATCH 160/254] Making tests fail --- test/unit/pipeline/FetchUnitTest.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/pipeline/FetchUnitTest.cc b/test/unit/pipeline/FetchUnitTest.cc index 90870fb5e2..1054c9d311 100644 --- a/test/unit/pipeline/FetchUnitTest.cc +++ b/test/unit/pipeline/FetchUnitTest.cc @@ -316,7 +316,7 @@ TEST_P(PipelineFetchUnitTest, supplyFromLoopBuffer) { MacroOp mOp2 = {uopPtr2}; ON_CALL(isa, predecode(_, _, 0xC, _)) .WillByDefault(DoAll(SetArgReferee<3>(mOp2), Return(4))); - ON_CALL(*uop2, isBranch()).WillByDefault(Return(true)); + ON_CALL(*uop2, isBranch()).WillByDefault(Return(false)); // Should be true MacroOp mOp = {uopPtr}; ON_CALL(isa, predecode(_, _, Ne(0xC), _)) From da00a3929ab4e054606d35c3c9d7e726569231d0 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 16:56:09 +0100 Subject: [PATCH 161/254] Fixing test failure --- .github/workflows/MAIN.yml | 2 +- test/unit/pipeline/FetchUnitTest.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 6ab687b240..0b87cfaf29 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -1,4 +1,4 @@ -name: Build_Test_SimEng +name: "Build and tests" # description: Build and test simeng on various OS with various compilers followed by benchmarking and a performance regression test followed by a clang format if all previous workflow succeed on: diff --git a/test/unit/pipeline/FetchUnitTest.cc b/test/unit/pipeline/FetchUnitTest.cc index 1054c9d311..90870fb5e2 100644 --- a/test/unit/pipeline/FetchUnitTest.cc +++ b/test/unit/pipeline/FetchUnitTest.cc @@ -316,7 +316,7 @@ TEST_P(PipelineFetchUnitTest, supplyFromLoopBuffer) { MacroOp mOp2 = {uopPtr2}; ON_CALL(isa, predecode(_, _, 0xC, _)) .WillByDefault(DoAll(SetArgReferee<3>(mOp2), Return(4))); - ON_CALL(*uop2, isBranch()).WillByDefault(Return(false)); // Should be true + ON_CALL(*uop2, isBranch()).WillByDefault(Return(true)); MacroOp mOp = {uopPtr}; ON_CALL(isa, predecode(_, _, Ne(0xC), _)) From 3adae7e7cb7d30606405d807b6fa6575d9d66944 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:30:36 +0100 Subject: [PATCH 162/254] Cleaning up interface --- .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- .github/workflows/MACOS_BUILD_TEST.yml | 4 ++-- .github/workflows/MAIN.yml | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 2075b3766c..90dddd5cb2 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -1,4 +1,4 @@ -name: LINUX_GCC_BUILD_TEST +name: Linux on: workflow_call: @@ -73,7 +73,7 @@ jobs: container: image: ${{ matrix.OS }} - name: ${{ inputs.SIMENG-MODE }} + ${{ matrix.OS }} + ${{ matrix.compiler }} + name: "${{ inputs.SIMENG-MODE }}, ${{ matrix.OS }}, ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 8d6647eed1..6313fea8b8 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -1,4 +1,4 @@ -name: MACOS_GCC_BUILD_TEST +name: MacOS on: workflow_call: @@ -22,7 +22,7 @@ jobs: COMPILER: ['gcc-10', 'apple_clang_15'] # NOTE: only gcc 10 works with provided macos runners on github actions the other versions are difficult to get and don't work - name: ${{ inputs.SIMENG-MODE }} + "macos-13 + ${{ matrix.compiler }}" + name: "${{ inputs.SIMENG-MODE }}, macos-13, ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 0b87cfaf29..ae92c5e184 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -1,4 +1,4 @@ -name: "Build and tests" +name: "Build" # description: Build and test simeng on various OS with various compilers followed by benchmarking and a performance regression test followed by a clang format if all previous workflow succeed on: @@ -21,6 +21,7 @@ jobs: # Debug Mode ################################### DEBUG_LINUX: + name: "Linux Debug" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -28,6 +29,7 @@ jobs: secrets: inherit DEBUG_MACOS: + name: "macOS Debug" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Debug @@ -37,13 +39,15 @@ jobs: # Release Mode ################################### RELEASE_LINUX: + name: "Linux Release" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest SIMENG-MODE: Release secrets: inherit - + RELEASE_MACOS: + name: "macOS Release" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Release From 3f7b4976e59b720163b0fe7050616bf1a3343d6d Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:42:50 +0100 Subject: [PATCH 163/254] Cleaning up interface --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_BUILD_TEST.yml | 2 +- .github/workflows/MAIN.yml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 90dddd5cb2..3e1ea6871c 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -73,7 +73,7 @@ jobs: container: image: ${{ matrix.OS }} - name: "${{ inputs.SIMENG-MODE }}, ${{ matrix.OS }}, ${{ matrix.compiler }}" + name: "${{ matrix.OS }}, ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 6313fea8b8..0beb990ee1 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -22,7 +22,7 @@ jobs: COMPILER: ['gcc-10', 'apple_clang_15'] # NOTE: only gcc 10 works with provided macos runners on github actions the other versions are difficult to get and don't work - name: "${{ inputs.SIMENG-MODE }}, macos-13, ${{ matrix.compiler }}" + name: "macos-13, ${{ matrix.compiler }}" steps: ####################################### diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index ae92c5e184..177d9f8aa1 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -21,7 +21,7 @@ jobs: # Debug Mode ################################### DEBUG_LINUX: - name: "Linux Debug" + name: "Linux, Debug" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -29,7 +29,7 @@ jobs: secrets: inherit DEBUG_MACOS: - name: "macOS Debug" + name: "macOS, Debug" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Debug @@ -39,7 +39,7 @@ jobs: # Release Mode ################################### RELEASE_LINUX: - name: "Linux Release" + name: "Linux, Release" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -47,7 +47,7 @@ jobs: secrets: inherit RELEASE_MACOS: - name: "macOS Release" + name: "macOS, Release" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Release From 5539685b6c315372039b10839fbe74154224c692 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 17 Oct 2024 09:50:43 +0100 Subject: [PATCH 164/254] Cleaning up interface --- .github/workflows/MAIN.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 177d9f8aa1..edc71f4930 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -21,7 +21,7 @@ jobs: # Debug Mode ################################### DEBUG_LINUX: - name: "Linux, Debug" + name: "Debug" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -29,7 +29,7 @@ jobs: secrets: inherit DEBUG_MACOS: - name: "macOS, Debug" + name: "Debug" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Debug @@ -39,7 +39,7 @@ jobs: # Release Mode ################################### RELEASE_LINUX: - name: "Linux, Release" + name: "Release" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -47,7 +47,7 @@ jobs: secrets: inherit RELEASE_MACOS: - name: "macOS, Release" + name: "Release" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Release From e334e2cf291e669c4beb46cc3d7b50b1c7d3ce70 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:47:38 +0100 Subject: [PATCH 165/254] Updating ubuntu toolchain apt link --- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 3518e61efb..c12b8bc902 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -45,7 +45,7 @@ runs: # Add additional repositories add-apt-repository universe - add-apt-repository ppa:ubuntu-toolchain-r/test + add-apt-repository ppa:ubuntu-toolchain-r/ppa # Update package lists again after adding repositories apt-get update From 3feccf4869509637a18d1d45f793a2159dfef667 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 17 Oct 2024 11:42:18 +0100 Subject: [PATCH 166/254] Adding more verbose names --- .github/workflows/MAIN.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index edc71f4930..ff9bdc3d35 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -21,7 +21,7 @@ jobs: # Debug Mode ################################### DEBUG_LINUX: - name: "Debug" + name: "Debug - build and test" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -29,7 +29,7 @@ jobs: secrets: inherit DEBUG_MACOS: - name: "Debug" + name: "Debug - build and test" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Debug @@ -39,7 +39,7 @@ jobs: # Release Mode ################################### RELEASE_LINUX: - name: "Release" + name: "Release - build, test and benchmarks" uses: ./.github/workflows/LINUX_BUILD_TEST.yml with: RUNNER: ubuntu-latest @@ -47,7 +47,7 @@ jobs: secrets: inherit RELEASE_MACOS: - name: "Release" + name: "Release - build, test and benchmarks" uses: ./.github/workflows/MACOS_BUILD_TEST.yml with: SIMENG-MODE: Release From e8d12e6b332773f171e0194725206f52ead48973 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:16:36 +0100 Subject: [PATCH 167/254] Adding more verbose names --- .github/workflows/MAIN.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index ff9bdc3d35..ed0cdaad1d 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -35,9 +35,9 @@ jobs: SIMENG-MODE: Debug secrets: inherit - ################################### + ################################## # Release Mode - ################################### + ################################## RELEASE_LINUX: name: "Release - build, test and benchmarks" uses: ./.github/workflows/LINUX_BUILD_TEST.yml From 1ec832dddb90ddf6ce8fcb0743b67e88d1785b83 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:39:29 +0100 Subject: [PATCH 168/254] Adding workflow dispatch options for GHactions --- .github/workflows/MAIN.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index ed0cdaad1d..db0838ad92 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -2,6 +2,8 @@ name: "Build" # description: Build and test simeng on various OS with various compilers followed by benchmarking and a performance regression test followed by a clang format if all previous workflow succeed on: + workflow_dispatch: + # workflow_call: # push: # branches: @@ -11,7 +13,8 @@ on: branches: - dev - main - + + # schedule: # - cron: '0 0 */6 * *' # Runs every 6 days From 93687dae9387d0672b230ce3eea03c30cf5afb87 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:43:23 +0100 Subject: [PATCH 169/254] Finessing comments --- .../actions/setup_armclang_debian/action.yml | 2 +- .../actions/setup_armclang_redhat/action.yml | 2 +- .../actions/setup_armclang_rocky/action.yml | 2 +- .../actions/setup_armclang_ubuntu/action.yml | 4 ++++ .github/actions/setup_clang_macos/action.yml | 2 +- .github/actions/setup_gcc_debian/action.yml | 4 ++-- .github/actions/setup_gcc_macos/action.yml | 18 ++++++++++-------- .github/actions/setup_gcc_redhat/action.yml | 4 ++-- .github/actions/setup_gcc_rocky/action.yml | 2 +- .github/actions/setup_gcc_ubuntu/action.yml | 3 ++- .github/actions/simeng_benchmarks/action.yml | 4 ++-- 11 files changed, 27 insertions(+), 20 deletions(-) diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index afa00d6a37..177aa447a7 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -81,7 +81,7 @@ runs: echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV ####################################### - # Build SimEng without llvm or ninja + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index 630a590ce5..13c08160db 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -79,7 +79,7 @@ runs: echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV ####################################### - # Build SimEng without external llvm or ninja. + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index e76d2863c0..3a51d744a5 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -72,7 +72,7 @@ runs: echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV ####################################### - # Build SimEng without llvm or ninja + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_armclang_ubuntu/action.yml b/.github/actions/setup_armclang_ubuntu/action.yml index c9afee6a1b..dada710f68 100644 --- a/.github/actions/setup_armclang_ubuntu/action.yml +++ b/.github/actions/setup_armclang_ubuntu/action.yml @@ -89,6 +89,10 @@ runs: echo "C_COMPILER=$(which armclang)" >> $GITHUB_ENV echo "CPP_COMPILER=$(which armclang++)" >> $GITHUB_ENV + ####################################### + # Build SimEng + ####################################### + - name: Build SimEng shell: bash run: | diff --git a/.github/actions/setup_clang_macos/action.yml b/.github/actions/setup_clang_macos/action.yml index 7932e0ec3f..067c6c3565 100644 --- a/.github/actions/setup_clang_macos/action.yml +++ b/.github/actions/setup_clang_macos/action.yml @@ -31,7 +31,7 @@ runs: echo "CPP_COMPILER=$(which clang++)" >> $GITHUB_ENV # ####################################### - # # Build SimEng without external llvm or ninja. + # # Build SimEng # ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_debian/action.yml b/.github/actions/setup_gcc_debian/action.yml index e18afa6cb6..90e4798d95 100644 --- a/.github/actions/setup_gcc_debian/action.yml +++ b/.github/actions/setup_gcc_debian/action.yml @@ -103,7 +103,7 @@ runs: echo "CPP_COMPILER=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV ####################################### - # Save gcc to cache if earlier miss occured. + # Save gcc to cache if earlier miss occurred. ####################################### - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} name: save gcc @@ -114,7 +114,7 @@ runs: key: ${{ inputs.gcc-version }}-${{ inputs.OS }} ####################################### - # Build SimEng without llvm or ninja + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index d333cc4cf7..7b9f963ccb 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -37,19 +37,21 @@ runs: echo "CPP_COMPILER=/usr/local/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV ####################################### - # Build SimEng without external llvm or ninja. + # Build SimEng ####################################### - name: Build SimEng shell: bash run: | cmake -B build -S . -DCMAKE_BUILD_TYPE=${{ inputs.MODE }} -DSIMENG_ENABLE_TESTS=ON -DSIMENG_OPTIMIZE=ON -DCMAKE_C_C_COMPILER=${{ env.C_COMPILER }} \ -DCMAKE_CXX_C_COMPILER=${{ env.CPP_COMPILER }} - - if [[ ${{ inputs.MODE }} == "Release" ]]; then - cmake --build build -j $(sysctl -n hw.ncpu) - else - echo "cores: $(sysctl -n hw.ncpu)" - cmake --build build -j 5 - fi + + cmake --build build -j $(sysctl -n hw.ncpu) + +# if [[ ${{ inputs.MODE }} == "Release" ]]; then +# cmake --build build -j $(sysctl -n hw.ncpu) +# else +# echo "cores: $(sysctl -n hw.ncpu)" +# cmake --build build -j 5 +# fi cmake --build build --target install diff --git a/.github/actions/setup_gcc_redhat/action.yml b/.github/actions/setup_gcc_redhat/action.yml index 6e1f2759c6..a0d332d1f9 100644 --- a/.github/actions/setup_gcc_redhat/action.yml +++ b/.github/actions/setup_gcc_redhat/action.yml @@ -103,7 +103,7 @@ runs: echo "CPP_COMPILER=/usr/local/$GCC_VER/bin/g++" >> $GITHUB_ENV ####################################### - # Save gcc to cache if earlier miss occured. + # Save gcc to cache if earlier miss occurred. ####################################### - if: ${{ steps.gcc-restore-v4.outputs.cache-hit != 'true' }} name: save gcc @@ -114,7 +114,7 @@ runs: key: ${{ inputs.gcc-version }}-${{ inputs.OS }} ####################################### - # Build SimEng without external llvm or ninja. + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_rocky/action.yml b/.github/actions/setup_gcc_rocky/action.yml index 4b82ff2378..6798910248 100644 --- a/.github/actions/setup_gcc_rocky/action.yml +++ b/.github/actions/setup_gcc_rocky/action.yml @@ -114,7 +114,7 @@ runs: key: ${{ inputs.gcc-version }}-${{ inputs.OS }} ####################################### - # Build SimEng without llvm or ninja + # Build SimEng ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index c12b8bc902..5a97edb3a8 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -90,7 +90,7 @@ runs: apt update && apt upgrade -y ####################################### - # Build SimEng without llvm or ninja + # Build SimEng ####################################### - name: Build SimEng shell: bash @@ -101,6 +101,7 @@ runs: cmake --build build --target install +# Store the C compiler and CPP compiler as environmental variables to be used by LINUX_BUILD_TEST echo "C_COMPILER=/usr/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV echo "CPP_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index de26d00313..b5f5d8fba9 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -17,8 +17,8 @@ runs: steps: ################################## - # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSs that have differening node versions - + # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSes that have differing node versions + ################################## - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} name: checkout v3 From 7df6f77c6e1d45b88b770209e0ed9726b6067dfc Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:48:35 +0100 Subject: [PATCH 170/254] Getting rid of comments in the middle of a bash script --- .github/actions/setup_gcc_macos/action.yml | 15 ++++++++------- .github/actions/setup_gcc_ubuntu/action.yml | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 7b9f963ccb..738f345893 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -38,6 +38,14 @@ runs: ####################################### # Build SimEng + + # if [[ ${{ inputs.MODE }} == "Release" ]]; then + # cmake --build build -j $(sysctl -n hw.ncpu) + # else + # echo "cores: $(sysctl -n hw.ncpu)" + # cmake --build build -j 5 + # fi + ####################################### - name: Build SimEng shell: bash @@ -47,11 +55,4 @@ runs: cmake --build build -j $(sysctl -n hw.ncpu) -# if [[ ${{ inputs.MODE }} == "Release" ]]; then -# cmake --build build -j $(sysctl -n hw.ncpu) -# else -# echo "cores: $(sysctl -n hw.ncpu)" -# cmake --build build -j 5 -# fi - cmake --build build --target install diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 5a97edb3a8..62fa00a0f4 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -91,6 +91,7 @@ runs: ####################################### # Build SimEng + # Then store the C compiler and CPP compiler as environmental variables to be used by LINUX_BUILD_TEST ####################################### - name: Build SimEng shell: bash @@ -101,7 +102,6 @@ runs: cmake --build build --target install -# Store the C compiler and CPP compiler as environmental variables to be used by LINUX_BUILD_TEST echo "C_COMPILER=/usr/bin/${{ inputs.gcc-version }}" >> $GITHUB_ENV echo "CPP_COMPILER=/usr/bin/g++-$( echo ${{ inputs.gcc-version }} | cut -d '-' -f 2)" >> $GITHUB_ENV From e1427a099230e590a4a2d9c35addc8f956e23643 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 10:02:25 +0100 Subject: [PATCH 171/254] Removing GCC10/ubuntu patch to show seg fault issue --- .github/actions/setup_gcc_ubuntu/action.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 62fa00a0f4..7e73d60975 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -74,13 +74,13 @@ runs: # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason # (installs some packages, not sure which ones prevent failure, but it doesn't take long to run). ####################################### - - if: ${{ inputs.gcc-version == 'gcc-10' }} - name: install llvm - shell: bash - run: | - wget https://apt.llvm.org/llvm.sh - chmod +x llvm.sh - ./llvm.sh 14 +# - if: ${{ inputs.gcc-version == 'gcc-10' }} +# name: install llvm +# shell: bash +# run: | +# wget https://apt.llvm.org/llvm.sh +# chmod +x llvm.sh +# ./llvm.sh 14 - name: Install gcc shell: bash From 4fe1f2e7deb8ab4f98b9ee4409ecaf88e7196eef Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 13:56:31 +0100 Subject: [PATCH 172/254] Updating comments --- .../average_single_benchmark/action.yml | 68 ------------------- .../run_individual_benchmark/action.yml | 54 --------------- .github/actions/select_setup/action.yml | 2 +- .github/actions/setup_gcc_macos/action.yml | 8 --- .github/actions/setup_gcc_ubuntu/action.yml | 14 +--- .github/actions/simeng_benchmarks/action.yml | 4 +- .github/workflows/LINUX_BUILD_TEST.yml | 6 +- .github/workflows/MAIN.yml | 9 --- 8 files changed, 10 insertions(+), 155 deletions(-) delete mode 100644 .github/actions/average_single_benchmark/action.yml delete mode 100644 .github/actions/run_individual_benchmark/action.yml diff --git a/.github/actions/average_single_benchmark/action.yml b/.github/actions/average_single_benchmark/action.yml deleted file mode 100644 index 7ae50c9da4..0000000000 --- a/.github/actions/average_single_benchmark/action.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Average of a single benchmark -description: runs individual benchmark based on inputs provided - -inputs: - path: - required: true - description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp - - name: - required: true - description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve - - datafile_path: - required: true - description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. - - runs: - required: true - default: 10 - description: The number of times a single benchmark should be averaged over. - -runs: - using: 'composite' - steps: - - ############################################################################ - # run individual benchmark + calculate and store into env variable via echo - ############################################################################ - - name: run benchmark & compare runtimes - shell: bash - run: | - benchmark_path=${{ inputs.path }} - benchmark_name=${{ inputs.name }} - datafile_path=${{ inputs.datafile_path }} - - output_file="benchmark_output.txt" - total_time=0 - runs=${{ inputs.runs }} - - cd "${{ github.workspace }}/$benchmark_path" - - # Loop to run the benchmark 'runs' times - for (( i=1; i<=runs; i++ )) - do - # Run the benchmark and redirect output to a file - if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" - else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" - fi - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "scale=2; $total_time + $current_time" | bc) - - done - - # Calculate the average time - average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) - - echo "Final average time of ${{ inputs.runs }} runs: $average_time" - - echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV - - # Clean up the output file - sudo rm $output_file diff --git a/.github/actions/run_individual_benchmark/action.yml b/.github/actions/run_individual_benchmark/action.yml deleted file mode 100644 index d5ee7d1fac..0000000000 --- a/.github/actions/run_individual_benchmark/action.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: Run Indiviudal Benchmark -description: runs individual benchmark based on inputs provided - -inputs: - benchmark_suite_name: - required: true - description: e.g. cloverleaf, tealeaf, stream, bude - - benchmark_path: - required: true - description: e.g. ./simeng-benchmarks/binaries/... - - output_file: - required: true - description: The benchmark suit name in lowercase followed by _benchmark_out - -runs: - using: 'composite' - steps: - ########################################## - # Check cache for cached benchmark outputs - ########################################## - - name: check for previous benchmark output in cache - uses: actions/cache/restore@v4 - id: benchmark_restore - with: - path: ./${{ inputs.output_file }} - key: ${{ inputs.output_file }} - - ############################################################################ - # run individual benchmark + calculate and store into env variable via echo - ############################################################################ - - name: run benchmark & compare runtimes - shell: bash - run: | - if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - previous_time=" $(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" - else - previous_time="No Previous Time" - fi - - sudo simeng ./configs/a64fx.yaml ${{ inputs.benchmark_path }} > ${{ inputs.output_file }} - - current_time="$(grep 'ticks in' ${{ inputs.output_file }} | awk '{print substr($6, 1, length($6)-2)}')" - - echo "${{ inputs.benchmark_suite_name }}_CURRENT_TIME=${current_time} ms" >> $GITHUB_ENV - echo "${{ inputs.benchmark_suite_name }}_PREVIOUS_TIME=${previous_time} ms" >> $GITHUB_ENV - - if [[ ${{ steps.benchmark_restore.outputs.cache-hit == 'true' }} == 'true' ]]; then - difference=$((current_time-previous_time)) - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=${difference#-} ms" >> $GITHUB_ENV - else - echo "${{ inputs.benchmark_suite_name }}_DIFFERENCE=No Previous Time" >> $GITHUB_ENV - fi \ No newline at end of file diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 9c99b77ea9..47d3c2c83d 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -2,7 +2,7 @@ name: setup armclang description: installs dependencies and correct armclang version to build and test simeng ############################################################################## -# Calls the correct setup action based on parameters passed into this action;. +# Calls the correct setup action based on parameters passed into this action. ############################################################################## inputs: diff --git a/.github/actions/setup_gcc_macos/action.yml b/.github/actions/setup_gcc_macos/action.yml index 738f345893..9992548c26 100644 --- a/.github/actions/setup_gcc_macos/action.yml +++ b/.github/actions/setup_gcc_macos/action.yml @@ -38,14 +38,6 @@ runs: ####################################### # Build SimEng - - # if [[ ${{ inputs.MODE }} == "Release" ]]; then - # cmake --build build -j $(sysctl -n hw.ncpu) - # else - # echo "cores: $(sysctl -n hw.ncpu)" - # cmake --build build -j 5 - # fi - ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/setup_gcc_ubuntu/action.yml b/.github/actions/setup_gcc_ubuntu/action.yml index 7e73d60975..f5325dc747 100644 --- a/.github/actions/setup_gcc_ubuntu/action.yml +++ b/.github/actions/setup_gcc_ubuntu/action.yml @@ -71,17 +71,8 @@ runs: apt upgrade -y ####################################### - # Running this prevents gcc-10 on ubuntu 20 from segfaulting in unit tests for some reason - # (installs some packages, not sure which ones prevent failure, but it doesn't take long to run). + # Install GCC ####################################### -# - if: ${{ inputs.gcc-version == 'gcc-10' }} -# name: install llvm -# shell: bash -# run: | -# wget https://apt.llvm.org/llvm.sh -# chmod +x llvm.sh -# ./llvm.sh 14 - - name: Install gcc shell: bash run: | @@ -91,7 +82,8 @@ runs: ####################################### # Build SimEng - # Then store the C compiler and CPP compiler as environmental variables to be used by LINUX_BUILD_TEST + # Then store the C compiler and CPP compiler as environmental variables to + # be used by LINUX_BUILD_TEST ####################################### - name: Build SimEng shell: bash diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index b5f5d8fba9..65e18602fb 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -17,7 +17,9 @@ runs: steps: ################################## - # clones repo with different versions of the checkout action, as container has different node versions and some compilers run on older OSes that have differing node versions + # clones repo with different versions of the checkout action, as container + # has different node versions and some compilers run on older OSes that + # have differing node versions ################################## - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 3e1ea6871c..3ae06c1de5 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -77,7 +77,8 @@ jobs: steps: ####################################### - # Clones repo to workspace. (ubuntu 18 is missing correct glibc version for newer checkout action version i.e. use older checkout version) + # Clones repo to workspace. (ubuntu 18 is missing correct glibc version + # for newer checkout action version i.e. use older checkout version) # NOTE: may want to remove support for gcc-7 soon ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} @@ -161,5 +162,4 @@ jobs: with: BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} OS: ${{ matrix.OS }} - PAT: ${{ env.PAT }} - ########################################## \ No newline at end of file + PAT: ${{ env.PAT }} \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index db0838ad92..8099ed46ab 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -4,19 +4,10 @@ name: "Build" on: workflow_dispatch: -# workflow_call: -# push: -# branches: -# - dev - pull_request: branches: - dev - main - - -# schedule: -# - cron: '0 0 */6 * *' # Runs every 6 days jobs: From 97080222b88177a9ff73146ca0b773ec5f868cb0 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 16:41:42 +0100 Subject: [PATCH 173/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 428 ++++++++++++++++++- 1 file changed, 425 insertions(+), 3 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 65e18602fb..894c284100 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -40,11 +40,433 @@ runs: token: ${{ inputs.PAT }} path: simeng-benchmarks - - name: run benchmark + - name: CloverLeaf serial gcc8.3.0 armv8.4 shell: bash run: | - cd ./simeng-benchmarks/Tools/simulation/validation - SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml + cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp + if grep -q "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then + echo "Passed" + else + echo "Failed" + exit 1 + fi + +# - name: run benchmark +# shell: bash +# run: | +# cd ./simeng-benchmarks/Tools/simulation/validation +# SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml + +# { +# "name": "CloverLeaf serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "miniBUDE openmp gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "STREAM serial gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "miniBUDE openmp gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "STREAM serial gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# } + From a8edc35a46760c856c9072cef012c14f3178942c Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:12:37 +0100 Subject: [PATCH 174/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 +++ .github/workflows/MAIN.yml | 28 ++++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 894c284100..bc43abbec1 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -43,7 +43,10 @@ runs: - name: CloverLeaf serial gcc8.3.0 armv8.4 shell: bash run: | + echo "BASH running" cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + echo "cd done" + ls simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp if grep -q "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 8099ed46ab..74e57665e8 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,20 +14,20 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX: - name: "Debug - build and test" - uses: ./.github/workflows/LINUX_BUILD_TEST.yml - with: - RUNNER: ubuntu-latest - SIMENG-MODE: Debug - secrets: inherit - - DEBUG_MACOS: - name: "Debug - build and test" - uses: ./.github/workflows/MACOS_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit +# DEBUG_LINUX: +# name: "Debug - build and test" +# uses: ./.github/workflows/LINUX_BUILD_TEST.yml +# with: +# RUNNER: ubuntu-latest +# SIMENG-MODE: Debug +# secrets: inherit +# +# DEBUG_MACOS: +# name: "Debug - build and test" +# uses: ./.github/workflows/MACOS_BUILD_TEST.yml +# with: +# SIMENG-MODE: Debug +# secrets: inherit ################################## # Release Mode From 34177e8c8b9d694fe115d0fae19082147c10fa71 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:25:31 +0100 Subject: [PATCH 175/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 50 ++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 3ae06c1de5..6badc72669 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -154,12 +154,48 @@ jobs: ./build/test/regression/riscv/regression-riscv ####################################### - # Run Benchmark Tests. + # Load Benchmarks repo ####################################### - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: Run Benchmarks - uses: ./.github/actions/simeng_benchmarks + + - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} + name: Checking out benchmark repository + uses: actions/checkout@v3 with: - BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - OS: ${{ matrix.OS }} - PAT: ${{ env.PAT }} \ No newline at end of file + repository: UoB-HPC/simeng-benchmarks + token: ${{ inputs.PAT }} + ref: makefile-build-system + path: simeng-benchmarks + + - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} + name: Checking out benchmark repository + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + ref: makefile-build-system + token: ${{ inputs.PAT }} + path: simeng-benchmarks + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc8.3.0 armv8.4 + shell: bash + run: | + echo "BASH running" + cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + echo "cd done" + ls + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp + if grep -q "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then + echo "Passed" + else + echo "Failed" + exit 1 + fi + + +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: Run Benchmarks +# uses: ./.github/actions/simeng_benchmarks +# with: +# BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} +# OS: ${{ matrix.OS }} +# PAT: ${{ env.PAT }} \ No newline at end of file From 519277779af0869e5c8cab1796578b19d6c3e01d Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:50:10 +0100 Subject: [PATCH 176/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 51 ++++---------------- .github/workflows/LINUX_BUILD_TEST.yml | 22 +++------ 2 files changed, 17 insertions(+), 56 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index bc43abbec1..8a6063bd4f 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -2,65 +2,34 @@ name: simeng-benchmarks description: runs simeng benchmarks inputs: - BENCHMARK_BRANCH: - description: name of the branch on the benchmark repo you want to checkout + RUN_DIR: + description: directory from which the benchmark binary should be run required: true - OS: - description: docker image name + BIN_PATH: + description: path to the binary for the benchmark required: true - PAT: - description: personal access token required to checkout private benchmark repo + PASS_STRING: + description: string that is searched for in the benchmark's output to confirm whether or not it has passed required: true runs: using: 'composite' steps: - - ################################## - # clones repo with different versions of the checkout action, as container - # has different node versions and some compilers run on older OSes that - # have differing node versions - ################################## - - - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} - name: checkout v3 - uses: actions/checkout@v3 - with: - repository: UoB-HPC/simeng-benchmarks - token: ${{ inputs.PAT }} - ref: makefile-build-system - path: simeng-benchmarks - - - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) }} - name: checking out benchmark repository - uses: actions/checkout@v4 - with: - repository: UoB-HPC/simeng-benchmarks - ref: makefile-build-system - token: ${{ inputs.PAT }} - path: simeng-benchmarks - - - name: CloverLeaf serial gcc8.3.0 armv8.4 + - name: Run Benchmark shell: bash run: | echo "BASH running" - cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + cd ${{ inputs.RUN_DIR }} echo "cd done" ls - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp - if grep -q "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp + if grep -q ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else echo "Failed" exit 1 fi -# - name: run benchmark -# shell: bash -# run: | -# cd ./simeng-benchmarks/Tools/simulation/validation -# SIMENG_BENCHMARKS_SRC_DIR=$GITHUB_WORKSPACE/simeng-benchmarks python3 validate_simulation.py all_a64fx.json $GITHUB_WORKSPACE/configs/a64fx.yaml - # { # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 6badc72669..78895c39ba 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -162,7 +162,7 @@ jobs: uses: actions/checkout@v3 with: repository: UoB-HPC/simeng-benchmarks - token: ${{ inputs.PAT }} + token: ${{ env.PAT }} ref: makefile-build-system path: simeng-benchmarks @@ -172,24 +172,16 @@ jobs: with: repository: UoB-HPC/simeng-benchmarks ref: makefile-build-system - token: ${{ inputs.PAT }} + token: ${{ env.PAT }} path: simeng-benchmarks - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 - shell: bash - run: | - echo "BASH running" - cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - echo "cd done" - ls - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp - if grep -q "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then - echo "Passed" - else - echo "Failed" - exit 1 - fi + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From 13b40f2f7c1d76f7987b99ab227fecfdb117f4f8 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:06:17 +0100 Subject: [PATCH 177/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 8a6063bd4f..7affea0e9b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -23,6 +23,7 @@ runs: echo "cd done" ls simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp + cat $GITHUB_WORKSPACE/simeng.tmp if grep -q ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else From 447981af41c872d5ec760b09a6cbb46ef2d8cade Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:19:07 +0100 Subject: [PATCH 178/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 7 ++----- .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 7affea0e9b..24aaf428b7 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -18,11 +18,8 @@ runs: - name: Run Benchmark shell: bash run: | - echo "BASH running" cd ${{ inputs.RUN_DIR }} - echo "cd done" - ls - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} >> $GITHUB_WORKSPACE/simeng.tmp 2> $GITHUB_WORKSPACE/simeng.tmp + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp cat $GITHUB_WORKSPACE/simeng.tmp if grep -q ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" @@ -31,7 +28,7 @@ runs: exit 1 fi -# { +# # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", # "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4", diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 78895c39ba..d82d907a7e 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,8 +26,8 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names - OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7']# , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names + OS: ['ubuntu:18.04']#,'ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. From 87795bd444990f20534f2a3f026341f3ac05ab0a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:34:15 +0100 Subject: [PATCH 179/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 1 - .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- .github/workflows/MAIN.yml | 12 ++++++------ 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 24aaf428b7..bc98c5efc8 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,6 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp - cat $GITHUB_WORKSPACE/simeng.tmp if grep -q ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index d82d907a7e..ec6ad1e992 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -158,7 +158,7 @@ jobs: ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} - name: Checking out benchmark repository + name: Checking out benchmark repository (v3) uses: actions/checkout@v3 with: repository: UoB-HPC/simeng-benchmarks @@ -167,7 +167,7 @@ jobs: path: simeng-benchmarks - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} - name: Checking out benchmark repository + name: Checking out benchmark repository (v4) uses: actions/checkout@v4 with: repository: UoB-HPC/simeng-benchmarks diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 74e57665e8..df4e9e9a51 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -40,11 +40,11 @@ jobs: SIMENG-MODE: Release secrets: inherit - RELEASE_MACOS: - name: "Release - build, test and benchmarks" - uses: ./.github/workflows/MACOS_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit +# RELEASE_MACOS: +# name: "Release - build, test and benchmarks" +# uses: ./.github/workflows/MACOS_BUILD_TEST.yml +# with: +# SIMENG-MODE: Release +# secrets: inherit From d1dd16f66b683ae27936ad2996ee0685a455410f Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:47:45 +0100 Subject: [PATCH 180/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index bc98c5efc8..a77af7fc01 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,8 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp - if grep -q ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then + ls $GITHUB_WORKSPACE + if grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else echo "Failed" From cc575c19c2582fe4a4f0387786dafab1595f31aa Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:03:18 +0100 Subject: [PATCH 181/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index a77af7fc01..11b502c10c 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,8 +20,10 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp - ls $GITHUB_WORKSPACE - if grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then + cd $GITHUB_WORKSPACE + echo "just CDed to $GITHUB_WORKSPACE" + pwd + if grep ${{ inputs.PASS_STRING }} simeng.tmp; then echo "Passed" else echo "Failed" From 7950de66443e0fe559670a6267fa21e187828915 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 21:19:14 +0100 Subject: [PATCH 182/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 11b502c10c..e3c920cef8 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -23,7 +23,8 @@ runs: cd $GITHUB_WORKSPACE echo "just CDed to $GITHUB_WORKSPACE" pwd - if grep ${{ inputs.PASS_STRING }} simeng.tmp; then + ls + if grep ${{ inputs.PASS_STRING }} --file=./simeng.tmp; then echo "Passed" else echo "Failed" From 4df7b143b8f118f5a950477294232d1c252b9de6 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 21:33:33 +0100 Subject: [PATCH 183/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index e3c920cef8..a89d2f037b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: echo "just CDed to $GITHUB_WORKSPACE" pwd ls - if grep ${{ inputs.PASS_STRING }} --file=./simeng.tmp; then + if grep ${{ inputs.PASS_STRING }} --file=$GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else echo "Failed" From be51f56c9dd15f2965f974322db5bbd9d7a82baf Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 21:37:01 +0100 Subject: [PATCH 184/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index a89d2f037b..8ac145dcdc 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,10 +21,8 @@ runs: cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp cd $GITHUB_WORKSPACE - echo "just CDed to $GITHUB_WORKSPACE" - pwd - ls - if grep ${{ inputs.PASS_STRING }} --file=$GITHUB_WORKSPACE/simeng.tmp; then + grep ${{ inputs.PASS_STRING }} simeng.tmp | $STRING_FOUND + if $STRING_FOUND; then echo "Passed" else echo "Failed" From e2b214a6be96354c0603272a74e04747dd721106 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 21:52:24 +0100 Subject: [PATCH 185/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 8ac145dcdc..a223965c88 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,7 +21,8 @@ runs: cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp cd $GITHUB_WORKSPACE - grep ${{ inputs.PASS_STRING }} simeng.tmp | $STRING_FOUND + cat simeng.tmp | grep ${{ inputs.PASS_STRING }} | $STRING_FOUND + echo $STRING_FOUND if $STRING_FOUND; then echo "Passed" else From 257bdb4928986451e50b109c80b43e27894ebd5c Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:07:07 +0100 Subject: [PATCH 186/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index a223965c88..11ae237db1 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,8 +20,8 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp - cd $GITHUB_WORKSPACE - cat simeng.tmp | grep ${{ inputs.PASS_STRING }} | $STRING_FOUND + ls $GITHUB_WORKSPACE + cat $GITHUB_WORKSPACE/simeng.tmp | tee grep ${{ inputs.PASS_STRING }} | $STRING_FOUND echo $STRING_FOUND if $STRING_FOUND; then echo "Passed" From 698a510644278cb51b9c1c9dd90b2423aa4e4de4 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:21:02 +0100 Subject: [PATCH 187/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 11ae237db1..21a0ea4b63 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -19,11 +19,8 @@ runs: shell: bash run: | cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee $GITHUB_WORKSPACE/simeng.tmp - ls $GITHUB_WORKSPACE - cat $GITHUB_WORKSPACE/simeng.tmp | tee grep ${{ inputs.PASS_STRING }} | $STRING_FOUND - echo $STRING_FOUND - if $STRING_FOUND; then + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee grep ${{ inputs.PASS_STRING }} > $STRING_FOUND + if STRING_FOUND; then echo "Passed" else echo "Failed" From 663bd31cf07cbf4476e9c9ebf903410673bd63d2 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:35:55 +0100 Subject: [PATCH 188/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 21a0ea4b63..e9e3b46ef6 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -19,8 +19,8 @@ runs: shell: bash run: | cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 | tee grep ${{ inputs.PASS_STRING }} > $STRING_FOUND - if STRING_FOUND; then + STRING_FOUND=$(simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee grep ${{ inputs.PASS_STRING }}) + if $STRING_FOUND; then echo "Passed" else echo "Failed" From c6693312c289bb304dc284ecb700a0e362ce52fd Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:49:44 +0100 Subject: [PATCH 189/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index e9e3b46ef6..567499fec5 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -19,7 +19,8 @@ runs: shell: bash run: | cd ${{ inputs.RUN_DIR }} - STRING_FOUND=$(simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee grep ${{ inputs.PASS_STRING }}) + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp + STRING_FOUND=$(grep ${{ inputs.PASS_STRING $GITHUB_WORKSPACE/simeng.tmp }}) if $STRING_FOUND; then echo "Passed" else From a0bf6ceb761848fe9de63e4b1898bee9f3e5350e Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:01:56 +0100 Subject: [PATCH 190/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 567499fec5..c545cbc052 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep ${{ inputs.PASS_STRING $GITHUB_WORKSPACE/simeng.tmp }}) + STRING_FOUND=$(grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp }}) if $STRING_FOUND; then echo "Passed" else From 37de24013d68baad20763b1f5ceac8f16c235dc9 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:02:52 +0100 Subject: [PATCH 191/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c545cbc052..6a48f8ae6b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp }}) + STRING_FOUND=$(grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) if $STRING_FOUND; then echo "Passed" else From c9de93c6444f52e05e25ab0b013bdf2b433325e1 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:18:50 +0100 Subject: [PATCH 192/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 6a48f8ae6b..7bd08f8137 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) + STRING_FOUND=$(grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) if $STRING_FOUND; then echo "Passed" else From d4ee65ad626e9256a8a2fc38570744350d6898b1 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:31:02 +0100 Subject: [PATCH 193/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 7bd08f8137..333cffc38b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,8 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) - if $STRING_FOUND; then + if (grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp); then echo "Passed" else echo "Failed" From ceac08f9906cfaf5e5ce69552337cf6673a26701 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:47:18 +0100 Subject: [PATCH 194/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 333cffc38b..e75bd74ef4 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if (grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp); then + if (grep -sE *${{ inputs.PASS_STRING }}* $GITHUB_WORKSPACE/simeng.tmp); then echo "Passed" else echo "Failed" From c0fe963587c66451545babb6c6231e3eac636f19 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:52:40 +0100 Subject: [PATCH 195/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index e75bd74ef4..8c76bc3546 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if (grep -sE *${{ inputs.PASS_STRING }}* $GITHUB_WORKSPACE/simeng.tmp); then + if (grep -sE \W*(${{ inputs.PASS_STRING }})\W* $GITHUB_WORKSPACE/simeng.tmp); then echo "Passed" else echo "Failed" From 11b8857ac8cd48e2823b87e513782e9bca38155e Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 00:04:20 +0100 Subject: [PATCH 196/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 8c76bc3546..7df33d69a3 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,9 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if (grep -sE \W*(${{ inputs.PASS_STRING }})\W* $GITHUB_WORKSPACE/simeng.tmp); then - echo "Passed" - else + if ! grep -qsE \W*(${{ inputs.PASS_STRING }})\W* $GITHUB_WORKSPACE/simeng.tmp; then echo "Failed" exit 1 fi From 5af211d9b686a5b4c2881678696ccf0025179769 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 00:20:21 +0100 Subject: [PATCH 197/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 7df33d69a3..be453e4184 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if ! grep -qsE \W*(${{ inputs.PASS_STRING }})\W* $GITHUB_WORKSPACE/simeng.tmp; then + if ! grep -Fxq "${{ inputs.PASS_STRING }}" $GITHUB_WORKSPACE/simeng.tmp; then echo "Failed" exit 1 fi From 926edd5aa52df2f969fcac142b15267e9850dbb8 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 00:32:51 +0100 Subject: [PATCH 198/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index be453e4184..4504b1ce71 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,9 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if ! grep -Fxq "${{ inputs.PASS_STRING }}" $GITHUB_WORKSPACE/simeng.tmp; then + if grep -e ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then + echo "Passed" + else echo "Failed" exit 1 fi From 37f700bc353db0b4181088c7a25fa5597cca8e6a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 01:08:30 +0100 Subject: [PATCH 199/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 21 ++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 4504b1ce71..16a0117e06 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,13 +20,22 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if grep -e ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp; then - echo "Passed" - else - echo "Failed" - exit 1 - fi + python3 -c " + import os + file_path = $GITHUB_WORKSPACE/simeng.tmp + + if not os.path.exists(file_path): + print(f'File not found: {file_path}') + exit(1) + + with open(file_path, 'r') as f: + if ${{ PASS_STRING }} in f.read(): + print('Passed') + else: + print('Failed') + exit(1) + " # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", From b546b90c9ecba37de5e586db981da5a3fff7f357 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:47:38 +0100 Subject: [PATCH 200/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 16a0117e06..b7c860ab71 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -30,7 +30,7 @@ runs: exit(1) with open(file_path, 'r') as f: - if ${{ PASS_STRING }} in f.read(): + if ${{ inputs.PASS_STRING }} in f.read(): print('Passed') else: print('Failed') From fdd0c7a5ae183d4ff1c0b948086b4d901ad18027 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 10:07:55 +0100 Subject: [PATCH 201/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- .github/workflows/LINUX_BUILD_TEST.yml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index b7c860ab71..1948a225a8 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - python3 -c " + python -c " import os file_path = $GITHUB_WORKSPACE/simeng.tmp diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index ec6ad1e992..e9f2c5427e 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -175,6 +175,11 @@ jobs: token: ${{ env.PAT }} path: simeng-benchmarks + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks From c27b21bc463ec307dfc4e45d408ab8b71fc5926e Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 10:28:51 +0100 Subject: [PATCH 202/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 22 ++++++-------------- .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- .github/workflows/MAIN.yml | 12 +++++------ 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 1948a225a8..7c9495c493 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,22 +20,12 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - python -c " - import os - - file_path = $GITHUB_WORKSPACE/simeng.tmp - - if not os.path.exists(file_path): - print(f'File not found: {file_path}') - exit(1) - - with open(file_path, 'r') as f: - if ${{ inputs.PASS_STRING }} in f.read(): - print('Passed') - else: - print('Failed') - exit(1) - " + if contains(${{ inputs.PASS_STRING }}, $GITHUB_WORKSPACE/simeng.tmp); then + echo "Passed" + else + echo "Failed" + exit(1) + fi # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index e9f2c5427e..ad77886df1 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,8 +26,8 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7']# , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names - OS: ['ubuntu:18.04']#,'ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7' , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names + OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index df4e9e9a51..74e57665e8 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -40,11 +40,11 @@ jobs: SIMENG-MODE: Release secrets: inherit -# RELEASE_MACOS: -# name: "Release - build, test and benchmarks" -# uses: ./.github/workflows/MACOS_BUILD_TEST.yml -# with: -# SIMENG-MODE: Release -# secrets: inherit + RELEASE_MACOS: + name: "Release - build, test and benchmarks" + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit From f912c365b1ebb074a41d5da0e07550761d7fb483 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 10:41:19 +0100 Subject: [PATCH 203/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 7c9495c493..c900ffe2cf 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,7 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if contains(${{ inputs.PASS_STRING }}, $GITHUB_WORKSPACE/simeng.tmp); then + if contains($GITHUB_WORKSPACE/simeng.tmp, ${{ inputs.PASS_STRING }}); then echo "Passed" else echo "Failed" From c1ae4fd8d897ee63ca5d29052a5f0e4ffeb7941b Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 10:55:10 +0100 Subject: [PATCH 204/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c900ffe2cf..83d70bb0ea 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,7 +20,16 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if contains($GITHUB_WORKSPACE/simeng.tmp, ${{ inputs.PASS_STRING }}); then + - name: Read benchmark output + id: package + uses: jaywcjlove/github-action-read-file@main + with: + path: $GITHUB_WORKSPACE/simeng.tmp + + - name: Check benchmark passed + shell: bash + run: | + if contains("${{ steps.package.outputs.content }}", ${{ inputs.PASS_STRING }}); then echo "Passed" else echo "Failed" From 024fc0c6581acbc7d6de71c20f732e3a38735140 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:12:07 +0100 Subject: [PATCH 205/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 +++- .github/workflows/LINUX_BUILD_TEST.yml | 5 ----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 83d70bb0ea..5b26363b1c 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,11 +20,13 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp + cd $GITHUB_WORKSPACE + - name: Read benchmark output id: package uses: jaywcjlove/github-action-read-file@main with: - path: $GITHUB_WORKSPACE/simeng.tmp + path: ./simeng.tmp - name: Check benchmark passed shell: bash diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index ad77886df1..79b62533b9 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -175,11 +175,6 @@ jobs: token: ${{ env.PAT }} path: simeng-benchmarks - - name: Setup Python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks From 301d617ff7ac8e0cb2513add524741e1d1bb485a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:57:49 +0100 Subject: [PATCH 206/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 21 ++++++-------------- .github/workflows/MAIN.yml | 12 +++++------ 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 5b26363b1c..ea1060b9d2 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,22 +21,13 @@ runs: cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp cd $GITHUB_WORKSPACE + cat simeng.tmp | while read line; do + if contains($line, ${{ inputs.PASS_STRING }}); then + echo "Passed" + exit(0); + fi + done - - name: Read benchmark output - id: package - uses: jaywcjlove/github-action-read-file@main - with: - path: ./simeng.tmp - - - name: Check benchmark passed - shell: bash - run: | - if contains("${{ steps.package.outputs.content }}", ${{ inputs.PASS_STRING }}); then - echo "Passed" - else - echo "Failed" - exit(1) - fi # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 74e57665e8..df4e9e9a51 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -40,11 +40,11 @@ jobs: SIMENG-MODE: Release secrets: inherit - RELEASE_MACOS: - name: "Release - build, test and benchmarks" - uses: ./.github/workflows/MACOS_BUILD_TEST.yml - with: - SIMENG-MODE: Release - secrets: inherit +# RELEASE_MACOS: +# name: "Release - build, test and benchmarks" +# uses: ./.github/workflows/MACOS_BUILD_TEST.yml +# with: +# SIMENG-MODE: Release +# secrets: inherit From 95fc4c7a66327edf1e08b0f83de9163bdb6cfcfd Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 12:12:40 +0100 Subject: [PATCH 207/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index ea1060b9d2..3d40dfb889 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,12 +21,13 @@ runs: cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp cd $GITHUB_WORKSPACE - cat simeng.tmp | while read line; do + filename="simeng.tmp" + while IFS= read -r line; do if contains($line, ${{ inputs.PASS_STRING }}); then echo "Passed" exit(0); fi - done + done < "$filename" # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", From 6be3f70aa05fcb0eaf8ea5b8739965e1199ec1cc Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Fri, 25 Oct 2024 12:13:09 +0100 Subject: [PATCH 208/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 3d40dfb889..330e709b16 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -23,7 +23,7 @@ runs: cd $GITHUB_WORKSPACE filename="simeng.tmp" while IFS= read -r line; do - if contains($line, ${{ inputs.PASS_STRING }}); then + if contains("$line", ${{ inputs.PASS_STRING }}); then echo "Passed" exit(0); fi From 807cd861de6b748a9153903075e12a97457a06d7 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 15:41:36 +0000 Subject: [PATCH 209/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 330e709b16..51acac5f8e 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,14 +20,13 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - cd $GITHUB_WORKSPACE - filename="simeng.tmp" - while IFS= read -r line; do - if contains("$line", ${{ inputs.PASS_STRING }}); then - echo "Passed" - exit(0); - fi - done < "$filename" + benchmark_passed = "$(grep ${{ inputs.PASS_STRING }} ${{ inputs.output_file }})" + if benchmark_passed; then + echo "Passed" + else + echo "Failed" + exit(1) + fi # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", From d716c9d78a87f7555b936b6a97e74b715bebe327 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 15:56:14 +0000 Subject: [PATCH 210/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 4 ++-- .github/workflows/LINUX_BUILD_TEST.yml | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 51acac5f8e..260ee67269 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -19,8 +19,8 @@ runs: shell: bash run: | cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - benchmark_passed = "$(grep ${{ inputs.PASS_STRING }} ${{ inputs.output_file }})" + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee ${{ inputs.OUTPUT_FILE }} + benchmark_passed = $(grep ${{ inputs.PASS_STRING }} ${{ inputs.OUTPUT_FILE }}) if benchmark_passed; then echo "Passed" else diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 79b62533b9..f53fd96b4d 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,8 @@ jobs: with: RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" + PASS_STRING: This test is considered PASSED + OUTPUT_FILE: $GITHUB_WORKSPACE/CL_s_gcc8.txt # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From 727f153b9bb36d655344be26900413dd1b613475 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:08:43 +0000 Subject: [PATCH 211/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 260ee67269..3dc99e98df 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,6 +20,14 @@ runs: run: | cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee ${{ inputs.OUTPUT_FILE }} + echo "Output file = ${{ inputs.OUTPUT_FILE }}" + echo "#####" + echo "#####" + echo "#####" + ls + echo "#####" + echo "#####" + echo "#####" benchmark_passed = $(grep ${{ inputs.PASS_STRING }} ${{ inputs.OUTPUT_FILE }}) if benchmark_passed; then echo "Passed" From 87e05cac5efcee96863e4091e902e7cba300587e Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:20:15 +0000 Subject: [PATCH 212/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 3dc99e98df..f77a8dea17 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -24,7 +24,7 @@ runs: echo "#####" echo "#####" echo "#####" - ls + ls $GITHUB_WORKSPACE echo "#####" echo "#####" echo "#####" From bd290868d2c02a013e33f8925eb535cb18b152f1 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 16:39:22 +0000 Subject: [PATCH 213/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index f77a8dea17..958c6d9c58 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -11,6 +11,9 @@ inputs: PASS_STRING: description: string that is searched for in the benchmark's output to confirm whether or not it has passed required: true + OUTPUT_FILE: + description: path to temp file storing output of benchmark run + required: true runs: using: 'composite' From 95218b4c03e081289fa821015b664ee5a0119739 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:01:51 +0000 Subject: [PATCH 214/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 43 +++++++++++++------- .github/workflows/LINUX_BUILD_TEST.yml | 8 ++-- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 958c6d9c58..c21089bbbe 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,24 +21,37 @@ runs: - name: Run Benchmark shell: bash run: | - cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee ${{ inputs.OUTPUT_FILE }} - echo "Output file = ${{ inputs.OUTPUT_FILE }}" - echo "#####" - echo "#####" - echo "#####" - ls $GITHUB_WORKSPACE - echo "#####" - echo "#####" - echo "#####" - benchmark_passed = $(grep ${{ inputs.PASS_STRING }} ${{ inputs.OUTPUT_FILE }}) - if benchmark_passed; then - echo "Passed" + benchmark_path=${{ input.path }} + benchmark_name=${{ input.name }} + datafile_path=${{ input.datafile }} + + output_file="benchmark_output.txt" + + cd "${{ github.workspace }}/$benchmark_path" + + # Run the benchmark and redirect output to a file + if [ $datafile_path ]; then + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" else - echo "Failed" - exit(1) + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" fi + # Extract the time in milliseconds from the output + current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') + + # Add the extracted time to the total time + total_time=$(echo "$total_time + $current_time" | bc) + + echo "Run $i: $current_time ms" + + # Calculate the average time + average_time=$(echo "scale=2; $total_time / $runs" | bc) + + echo "Average time over $runs runs: $average_time ms" + + # Clean up the output file + sudo rm "$output_file" + # # "name": "CloverLeaf serial gcc8.3.0 armv8.4", # "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index f53fd96b4d..2a716d38da 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -179,10 +179,10 @@ jobs: name: CloverLeaf serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 - PASS_STRING: This test is considered PASSED - OUTPUT_FILE: $GITHUB_WORKSPACE/CL_s_gcc8.txt + path: "simeng-benchmarks/binaries/CloverLeaf/openmp" + name: "cloverleaf_gcc10.3.0_armv8.4+sve" + datafile: "simeng-benchmarks/Data_Files/CloverLeaf" + pass_string: "This test is considered PASSED" # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From 90b52a66e3ca6e5d622dd7e5f27362d1a1b41bb4 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:02:20 +0000 Subject: [PATCH 215/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c21089bbbe..fd9cde2887 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -2,16 +2,16 @@ name: simeng-benchmarks description: runs simeng benchmarks inputs: - RUN_DIR: + path: description: directory from which the benchmark binary should be run required: true - BIN_PATH: + name: description: path to the binary for the benchmark required: true - PASS_STRING: + datafile: description: string that is searched for in the benchmark's output to confirm whether or not it has passed required: true - OUTPUT_FILE: + pass_string: description: path to temp file storing output of benchmark run required: true From d9b90f20fb79b92b313229a4ce2a7cfb032f0eae Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:42:22 +0000 Subject: [PATCH 216/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 479 ++----------------- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 2 files changed, 39 insertions(+), 442 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index fd9cde2887..c4b12bf1cd 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -1,467 +1,64 @@ -name: simeng-benchmarks -description: runs simeng benchmarks +name: Average of a single benchmark +description: runs individual benchmark based on inputs provided inputs: path: - description: directory from which the benchmark binary should be run required: true + description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp + name: - description: path to the binary for the benchmark required: true - datafile: - description: string that is searched for in the benchmark's output to confirm whether or not it has passed + description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve + + datafile_path: required: true + description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. + pass_string: - description: path to temp file storing output of benchmark run required: true + description: test runs: using: 'composite' steps: - - name: Run Benchmark + + ############################################################################ + # run individual benchmark + calculate and store into env variable via echo + ############################################################################ + - name: run benchmark & compare runtimes shell: bash run: | - benchmark_path=${{ input.path }} - benchmark_name=${{ input.name }} - datafile_path=${{ input.datafile }} - + benchmark_path=${{ inputs.path }} + benchmark_name=${{ inputs.name }} + datafile_path=${{ inputs.datafile_path }} + pass_string=${{ inputs.pass_string }} + output_file="benchmark_output.txt" - + total_time=0 + cd "${{ github.workspace }}/$benchmark_path" - + + # Loop to run the benchmark 10 times # Run the benchmark and redirect output to a file if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" fi - + # Extract the time in milliseconds from the output current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - + # Add the extracted time to the total time - total_time=$(echo "$total_time + $current_time" | bc) - - echo "Run $i: $current_time ms" - + total_time=$(echo "scale=2; $total_time + $current_time" | bc) + + # Calculate the average time - average_time=$(echo "scale=2; $total_time / $runs" | bc) - - echo "Average time over $runs runs: $average_time ms" - + average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) + + echo "Final average time of ${{ inputs.runs }} runs: $average_time" + + echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV + # Clean up the output file - sudo rm "$output_file" - -# -# "name": "CloverLeaf serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "miniBUDE openmp gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "STREAM serial gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "miniBUDE openmp gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "STREAM serial gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# } - - - - - + sudo rm $output_file \ No newline at end of file diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 2a716d38da..86fc9b7ded 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: with: path: "simeng-benchmarks/binaries/CloverLeaf/openmp" name: "cloverleaf_gcc10.3.0_armv8.4+sve" - datafile: "simeng-benchmarks/Data_Files/CloverLeaf" + datafile_path: "simeng-benchmarks/Data_Files/CloverLeaf" pass_string: "This test is considered PASSED" From d8c074d9621ae5cf9ce7da51aa0ffe96fefa39e3 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 18:01:14 +0000 Subject: [PATCH 217/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 34 +++++++++++--------- .github/workflows/LINUX_BUILD_TEST.yml | 5 ++- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c4b12bf1cd..6023a74eac 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -14,9 +14,10 @@ inputs: required: true description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. - pass_string: + runs: required: true - description: test + default: 10 + description: The number of times a single benchmark should be averaged over. runs: using: 'composite' @@ -31,27 +32,30 @@ runs: benchmark_path=${{ inputs.path }} benchmark_name=${{ inputs.name }} datafile_path=${{ inputs.datafile_path }} - pass_string=${{ inputs.pass_string }} output_file="benchmark_output.txt" total_time=0 + runs=${{ inputs.runs }} cd "${{ github.workspace }}/$benchmark_path" # Loop to run the benchmark 10 times - # Run the benchmark and redirect output to a file - if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" - else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" - fi - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "scale=2; $total_time + $current_time" | bc) + for (( i=1; i<=runs; i++ )) + do + # Run the benchmark and redirect output to a file + if [ $datafile_path ]; then + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" + else + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" + fi + # Extract the time in milliseconds from the output + current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') + + # Add the extracted time to the total time + total_time=$(echo "scale=2; $total_time + $current_time" | bc) + + done # Calculate the average time average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 86fc9b7ded..878966ff10 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -106,6 +106,9 @@ jobs: - name: INFO shell: bash run: | + sudo apt-get -y install bc + sudo apt-get -y install gcc-10 g++-10 pip + pip install pyparsing cat /etc/os-release echo "_______________________________________" uname -a @@ -182,7 +185,7 @@ jobs: path: "simeng-benchmarks/binaries/CloverLeaf/openmp" name: "cloverleaf_gcc10.3.0_armv8.4+sve" datafile_path: "simeng-benchmarks/Data_Files/CloverLeaf" - pass_string: "This test is considered PASSED" + runs: 1 # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From b1fd1469724cd57a5566774c251213f614bf9519 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 18:17:32 +0000 Subject: [PATCH 218/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 6023a74eac..f6fe319387 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -37,6 +37,7 @@ runs: total_time=0 runs=${{ inputs.runs }} + ls "${{ github.workspace }}" cd "${{ github.workspace }}/$benchmark_path" # Loop to run the benchmark 10 times From 21ca45a47f2e00dc49d62459608ea2b452465035 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 18:34:40 +0000 Subject: [PATCH 219/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 37 ++++++-------------- .github/workflows/LINUX_BUILD_TEST.yml | 14 +++----- 2 files changed, 16 insertions(+), 35 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index f6fe319387..df87702592 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -2,23 +2,18 @@ name: Average of a single benchmark description: runs individual benchmark based on inputs provided inputs: - path: + RUN_DIR: required: true description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp - name: + BIN_PATH: required: true description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve - datafile_path: + PASS_STRING: required: true description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. - runs: - required: true - default: 10 - description: The number of times a single benchmark should be averaged over. - runs: using: 'composite' steps: @@ -29,27 +24,19 @@ runs: - name: run benchmark & compare runtimes shell: bash run: | - benchmark_path=${{ inputs.path }} - benchmark_name=${{ inputs.name }} - datafile_path=${{ inputs.datafile_path }} - - output_file="benchmark_output.txt" + output_file="${{ github.workspace }}/benchmark_output.txt" total_time=0 - runs=${{ inputs.runs }} + runs=1 ls "${{ github.workspace }}" - cd "${{ github.workspace }}/$benchmark_path" + cd "${{ github.workspace }}/${{ inputs.RUN_DIR }}" # Loop to run the benchmark 10 times - for (( i=1; i<=runs; i++ )) + for (( i=1; i<=$runs; i++ )) do # Run the benchmark and redirect output to a file - if [ $datafile_path ]; then - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name -n 64 -i 1 --deck "${{ github.workspace }}/$datafile_path" > "$output_file" - else - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" $benchmark_name > "$output_file" - fi - + sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" ${{ inputs.BIN_PATH }} -n 64 -i 1 > tee "$output_file" + # Extract the time in milliseconds from the output current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') @@ -59,11 +46,9 @@ runs: done # Calculate the average time - average_time=$(echo "scale=2; $total_time / ${{ inputs.runs }}" | bc) - - echo "Final average time of ${{ inputs.runs }} runs: $average_time" + average_time=$(echo "scale=2; $total_time / $runs" | bc) - echo "avg_${benchmark_name%%_*}=${average_time}" >> $GITHUB_ENV + echo "Final average time of $runs runs: $average_time" # Clean up the output file sudo rm $output_file \ No newline at end of file diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 878966ff10..ec6ad1e992 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,8 +26,8 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7' , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names - OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7']# , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names + OS: ['ubuntu:18.04']#,'ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. @@ -106,9 +106,6 @@ jobs: - name: INFO shell: bash run: | - sudo apt-get -y install bc - sudo apt-get -y install gcc-10 g++-10 pip - pip install pyparsing cat /etc/os-release echo "_______________________________________" uname -a @@ -182,10 +179,9 @@ jobs: name: CloverLeaf serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - path: "simeng-benchmarks/binaries/CloverLeaf/openmp" - name: "cloverleaf_gcc10.3.0_armv8.4+sve" - datafile_path: "simeng-benchmarks/Data_Files/CloverLeaf" - runs: 1 + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From d95d448498405613fdba6b6cdbe88fd2a922cac1 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 18:50:40 +0000 Subject: [PATCH 220/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 469 +++++++++++++++++-- 1 file changed, 429 insertions(+), 40 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index df87702592..7bd08f8137 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -1,54 +1,443 @@ -name: Average of a single benchmark -description: runs individual benchmark based on inputs provided +name: simeng-benchmarks +description: runs simeng benchmarks inputs: RUN_DIR: + description: directory from which the benchmark binary should be run required: true - description: e.g. simeng-benchmarks/binaries/CloverLeaf/openmp - BIN_PATH: + description: path to the binary for the benchmark required: true - description: e.g. cloverleaf_gcc10.3.0_armv8.4+sve - PASS_STRING: + description: string that is searched for in the benchmark's output to confirm whether or not it has passed required: true - description: The path to the corresponding data file for that benchmark e.g. simeng-benchmarks/Data_Files/CloverLeaf. runs: using: 'composite' steps: - - ############################################################################ - # run individual benchmark + calculate and store into env variable via echo - ############################################################################ - - name: run benchmark & compare runtimes + - name: Run Benchmark shell: bash run: | - output_file="${{ github.workspace }}/benchmark_output.txt" - total_time=0 - runs=1 - - ls "${{ github.workspace }}" - cd "${{ github.workspace }}/${{ inputs.RUN_DIR }}" - - # Loop to run the benchmark 10 times - for (( i=1; i<=$runs; i++ )) - do - # Run the benchmark and redirect output to a file - sudo simeng "${{ github.workspace }}/configs/a64fx.yaml" ${{ inputs.BIN_PATH }} -n 64 -i 1 > tee "$output_file" - - # Extract the time in milliseconds from the output - current_time=$(grep 'ticks in' "$output_file" | awk '{print substr($6, 1, length($6)-2)}') - - # Add the extracted time to the total time - total_time=$(echo "scale=2; $total_time + $current_time" | bc) - - done - - # Calculate the average time - average_time=$(echo "scale=2; $total_time / $runs" | bc) - - echo "Final average time of $runs runs: $average_time" - - # Clean up the output file - sudo rm $output_file \ No newline at end of file + cd ${{ inputs.RUN_DIR }} + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp + STRING_FOUND=$(grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) + if $STRING_FOUND; then + echo "Passed" + else + echo "Failed" + exit 1 + fi + +# +# "name": "CloverLeaf serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "miniBUDE openmp gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "STREAM serial gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc8.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc9.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc10.3.0 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp armclang20 armv8.4", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp armclang20 armv8.4", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "CloverLeaf openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve", +# "validation_string": "This test is considered PASSED" +# }, +# { +# "name": "miniBUDE openmp gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "miniBUDE openmp armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", +# "validation_string": "Largest difference was 0.000%." +# }, +# { +# "name": "STREAM serial gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM serial armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc8.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc9.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp gcc10.3.0 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "STREAM openmp armclang20 armv8.4+sve", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4+sve", +# "validation_string": "Solution Validates" +# }, +# { +# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 2D openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D serial armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve", +# "validation_string": "This run PASSED" +# }, +# { +# "name": "TeaLeaf 3D openmp armclang20 armv8.4+sve", +# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", +# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve", +# "validation_string": "This run PASSED" +# } + + + + + From 38d3704328219e0e61ec89ba9a2fe7e134375ed2 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 19:02:20 +0000 Subject: [PATCH 221/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index ec6ad1e992..2bdce9c4e3 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,8 +26,8 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7']# , 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names - OS: ['ubuntu:18.04']#,'ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names + OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### # Removes unecessary jobs as jobs are generated in the order seen in the matrix. @@ -177,11 +177,16 @@ jobs: - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" + run: + cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp + STRING_FOUND=$(grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp) + if $STRING_FOUND; then + echo "Passed" + else + echo "Failed" + exit 1 + fi # - if: ${{ inputs.SIMENG-MODE == 'Release' }} From 831861ce8d8cc0c9aaaf997b26e0ac3384ff6a90 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 19:02:52 +0000 Subject: [PATCH 222/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 2bdce9c4e3..27d9253632 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -180,8 +180,7 @@ jobs: run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp) - if $STRING_FOUND; then + if $(grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp); then echo "Passed" else echo "Failed" From 477b3776e31a7be675c95e19df7d47636d8c8358 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 19:03:05 +0000 Subject: [PATCH 223/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 27d9253632..8fc94f550c 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -180,7 +180,7 @@ jobs: run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if $(grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp); then + if grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then echo "Passed" else echo "Failed" From 699e87d23115d28419d6511d5decd5ff81275269 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 19:44:03 +0000 Subject: [PATCH 224/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 8fc94f550c..f9414e004c 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -180,7 +180,7 @@ jobs: run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp; then + if [[ grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp ]]; then echo "Passed" else echo "Failed" From aa83aa7c87d6b16c49453665c4511c9916caf4c7 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 19:47:23 +0000 Subject: [PATCH 225/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index f9414e004c..804c93a31b 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -177,6 +177,7 @@ jobs: - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 + shell: bash run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp From 92cf7812fd0f6b814df2d0490be6ca22af8e3c1f Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 20:09:52 +0000 Subject: [PATCH 226/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 804c93a31b..79af6fbf11 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if [[ grep "This test is considered PASSED" $GITHUB_WORKSPACE/simeng.tmp ]]; then + if ! grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp"; then echo "Passed" else echo "Failed" From 9c5064b2693055f1c4099484fd4c6108eb6f11e8 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 20:58:39 +0000 Subject: [PATCH 227/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 79af6fbf11..5966138d75 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,11 +181,12 @@ jobs: run: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - if ! grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp"; then - echo "Passed" - else + benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") + if $benchmark_passed; then echo "Failed" exit 1 + else + echo "Passed" fi From a67d9b8a0c92776863606b2746de782fd1fc69ef Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 21:21:40 +0000 Subject: [PATCH 228/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 2 +- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 7bd08f8137..39ec8ebfb7 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -21,7 +21,7 @@ runs: cd ${{ inputs.RUN_DIR }} simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp STRING_FOUND=$(grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) - if $STRING_FOUND; then + if [ $STRING_FOUND ]; then echo "Passed" else echo "Failed" diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 5966138d75..455d3142c5 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -182,7 +182,7 @@ jobs: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") - if $benchmark_passed; then + if [ $benchmark_passed ]; then echo "Failed" exit 1 else From 84eb74af282b6d7689482634259788ad2043229b Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 21:22:28 +0000 Subject: [PATCH 229/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 455d3142c5..97083f1e74 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -182,7 +182,8 @@ jobs: cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") - if [ $benchmark_passed ]; then + if [ $benchmark_passed ] + then echo "Failed" exit 1 else From 6abb5e5c82a1fb19dd7f037738a912b479a596a9 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 21:22:48 +0000 Subject: [PATCH 230/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 97083f1e74..54332022e3 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -184,10 +184,10 @@ jobs: benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") if [ $benchmark_passed ] then + echo "Passed" + else echo "Failed" exit 1 - else - echo "Passed" fi From d8c2370f4a48845d5e07bb4fdb8e78fcfa05ed66 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 22:55:18 +0000 Subject: [PATCH 231/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 54332022e3..1763eee4c7 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -178,7 +178,7 @@ jobs: - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 shell: bash - run: + run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") From 3a3da76a56bafa77d6d630776dc75365aec5ea60 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 23:47:47 +0000 Subject: [PATCH 232/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 1763eee4c7..826dfe26b7 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -180,7 +180,7 @@ jobs: shell: bash run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") if [ $benchmark_passed ] then From 24d62baf1dff67d2ebeb25cf99f00640ad4d3a8f Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Sun, 27 Oct 2024 23:59:16 +0000 Subject: [PATCH 233/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 826dfe26b7..69661af34c 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -186,6 +186,7 @@ jobs: then echo "Passed" else + cat $GITHUB_WORKSPACE/simeng.tmp echo "Failed" exit 1 fi From 488ff5f92cf5743dc7f18b1dcb8b7542a2a8cb75 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:11:31 +0000 Subject: [PATCH 234/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 69661af34c..97e27dad4a 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,9 +181,9 @@ jobs: run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp - benchmark_passed=$(grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") - if [ $benchmark_passed ] + if [ grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" ] then + cat $GITHUB_WORKSPACE/simeng.tmp echo "Passed" else cat $GITHUB_WORKSPACE/simeng.tmp From 6783424cb532e7704b155023563caf325ea4385a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:23:37 +0000 Subject: [PATCH 235/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 97e27dad4a..13d72b6ab0 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp - if [ grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" ] + if grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" then cat $GITHUB_WORKSPACE/simeng.tmp echo "Passed" From 01842b7c1ccd0979e9961136cb0e806d94d5233b Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:23:48 +0000 Subject: [PATCH 236/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 13d72b6ab0..b4e36644c4 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp - if grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" + if (grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") then cat $GITHUB_WORKSPACE/simeng.tmp echo "Passed" From d054c5b6ef32558dcaaba5c1b2b920ed24018f79 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:24:07 +0000 Subject: [PATCH 237/254] Playing with benchmarks script --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index b4e36644c4..ab254a2d61 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp - if (grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp") + if [[ grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" ]] then cat $GITHUB_WORKSPACE/simeng.tmp echo "Passed" From 48470747a420ae8ad414ada93906be7d1706bb4d Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:46:39 +0000 Subject: [PATCH 238/254] Playing with benchmarks script --- .github/actions/simeng_benchmarks/action.yml | 8 +++++--- .github/workflows/LINUX_BUILD_TEST.yml | 20 +++++--------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 39ec8ebfb7..1020dd1973 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -19,11 +19,13 @@ runs: shell: bash run: | cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} 2>&1 tee $GITHUB_WORKSPACE/simeng.tmp - STRING_FOUND=$(grep -s ${{ inputs.PASS_STRING }} $GITHUB_WORKSPACE/simeng.tmp) - if [ $STRING_FOUND ]; then + simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} > $GITHUB_WORKSPACE/simeng.tmp + if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" + then + cat $GITHUB_WORKSPACE/simeng.tmp echo "Passed" else + cat $GITHUB_WORKSPACE/simeng.tmp echo "Failed" exit 1 fi diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index ab254a2d61..e30612a2a2 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -177,21 +177,11 @@ jobs: - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: CloverLeaf serial gcc8.3.0 armv8.4 - shell: bash - run: | - cd $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 > $GITHUB_WORKSPACE/simeng.tmp - if [[ grep -q "This test is considered PASSED" "$GITHUB_WORKSPACE/simeng.tmp" ]] - then - cat $GITHUB_WORKSPACE/simeng.tmp - echo "Passed" - else - cat $GITHUB_WORKSPACE/simeng.tmp - echo "Failed" - exit 1 - fi - - + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" # - if: ${{ inputs.SIMENG-MODE == 'Release' }} # name: Run Benchmarks # uses: ./.github/actions/simeng_benchmarks From c2580d884249503a4bdada7fb65b4d2d0f66b194 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 01:13:06 +0000 Subject: [PATCH 239/254] Bringing it all together! --- .github/actions/simeng_benchmarks/action.yml | 411 ------------- .github/workflows/LINUX_BUILD_TEST.yml | 578 +++++++++++++++++- .github/workflows/MACOS_BUILD_TEST.yml | 598 ++++++++++++++++++- .github/workflows/MAIN.yml | 40 +- 4 files changed, 1182 insertions(+), 445 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 1020dd1973..99652a9d2b 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -30,416 +30,5 @@ runs: exit 1 fi -# -# "name": "CloverLeaf serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "miniBUDE openmp gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "STREAM serial gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc8.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc9.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc10.3.0 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp armclang20 armv8.4", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp armclang20 armv8.4", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "CloverLeaf openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/CloverLeaf", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve", -# "validation_string": "This test is considered PASSED" -# }, -# { -# "name": "miniBUDE openmp gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "miniBUDE openmp armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -n 64 -i 1 --deck $SIMENG_BENCHMARKS_SRC_DIR/Data_Files/miniBUDE/bm1", -# "validation_string": "Largest difference was 0.000%." -# }, -# { -# "name": "STREAM serial gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM serial armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream_armclang20_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc8.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc9.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp gcc10.3.0 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "STREAM openmp armclang20 armv8.4+sve", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/STREAM/stream-omp_armclang20_armv8.4+sve", -# "validation_string": "Solution Validates" -# }, -# { -# "name": "TeaLeaf 2D serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 2D openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/2d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D serial armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve", -# "validation_string": "This run PASSED" -# }, -# { -# "name": "TeaLeaf 3D openmp armclang20 armv8.4+sve", -# "run_from": "$SIMENG_BENCHMARKS_SRC_DIR/Data_Files/TeaLeaf/3d", -# "cmd": "$SIMENG_BENCHMARKS_SRC_DIR/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve", -# "validation_string": "This run PASSED" -# } - - - diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index e30612a2a2..eb6770f0e7 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -154,7 +154,7 @@ jobs: ./build/test/regression/riscv/regression-riscv ####################################### - # Load Benchmarks repo + # Run Benchmarks ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} @@ -182,10 +182,572 @@ jobs: RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 PASS_STRING: "This test is considered PASSED" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: Run Benchmarks -# uses: ./.github/actions/simeng_benchmarks -# with: -# BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} -# OS: ${{ matrix.OS }} -# PAT: ${{ env.PAT }} \ No newline at end of file + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 0beb990ee1..6046a461f4 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -92,13 +92,599 @@ jobs: ./build/test/regression/riscv/regression-riscv ####################################### - # Run Benchmark Tests. + # Run Benchmarks ####################################### + + - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} + name: Checking out benchmark repository (v3) + uses: actions/checkout@v3 + with: + repository: UoB-HPC/simeng-benchmarks + token: ${{ env.PAT }} + ref: makefile-build-system + path: simeng-benchmarks + + - if: ${{ !contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} + name: Checking out benchmark repository (v4) + uses: actions/checkout@v4 + with: + repository: UoB-HPC/simeng-benchmarks + ref: makefile-build-system + token: ${{ env.PAT }} + path: simeng-benchmarks + - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: Run Benchmarks + name: CloverLeaf serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - BENCHMARK_BRANCH: ${{ env.BENCHMARK_BRANCH }} - OS: macos - PAT: ${{ env.PAT }} - ########################################## \ No newline at end of file + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index df4e9e9a51..8099ed46ab 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,20 +14,20 @@ jobs: ################################### # Debug Mode ################################### -# DEBUG_LINUX: -# name: "Debug - build and test" -# uses: ./.github/workflows/LINUX_BUILD_TEST.yml -# with: -# RUNNER: ubuntu-latest -# SIMENG-MODE: Debug -# secrets: inherit -# -# DEBUG_MACOS: -# name: "Debug - build and test" -# uses: ./.github/workflows/MACOS_BUILD_TEST.yml -# with: -# SIMENG-MODE: Debug -# secrets: inherit + DEBUG_LINUX: + name: "Debug - build and test" + uses: ./.github/workflows/LINUX_BUILD_TEST.yml + with: + RUNNER: ubuntu-latest + SIMENG-MODE: Debug + secrets: inherit + + DEBUG_MACOS: + name: "Debug - build and test" + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit ################################## # Release Mode @@ -40,11 +40,11 @@ jobs: SIMENG-MODE: Release secrets: inherit -# RELEASE_MACOS: -# name: "Release - build, test and benchmarks" -# uses: ./.github/workflows/MACOS_BUILD_TEST.yml -# with: -# SIMENG-MODE: Release -# secrets: inherit + RELEASE_MACOS: + name: "Release - build, test and benchmarks" + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Release + secrets: inherit From 0913adef4678c92d3b1b725b60674108b4b79f43 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 08:51:59 +0000 Subject: [PATCH 240/254] Bringing it all together! --- .github/actions/simeng_benchmarks/action.yml | 10 ++++-- .github/workflows/LINUX_BUILD_TEST.yml | 32 ++++++++++---------- .github/workflows/MACOS_BUILD_TEST.yml | 32 ++++++++++---------- 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 99652a9d2b..c6228cb62c 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -4,7 +4,7 @@ description: runs simeng benchmarks inputs: RUN_DIR: description: directory from which the benchmark binary should be run - required: true + required: false BIN_PATH: description: path to the binary for the benchmark required: true @@ -18,8 +18,12 @@ runs: - name: Run Benchmark shell: bash run: | - cd ${{ inputs.RUN_DIR }} - simeng $GITHUB_WORKSPACE/configs/a64fx.yaml ${{ inputs.BIN_PATH }} > $GITHUB_WORKSPACE/simeng.tmp + if [ $datafile_path ] + then + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp + else + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" > $GITHUB_WORKSPACE/simeng.tmp + fi if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" then cat $GITHUB_WORKSPACE/simeng.tmp diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index eb6770f0e7..04456d970f 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -275,7 +275,7 @@ jobs: name: STREAM serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -283,7 +283,7 @@ jobs: name: STREAM serial gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -291,7 +291,7 @@ jobs: name: STREAM serial gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -299,7 +299,7 @@ jobs: name: STREAM serial armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 PASS_STRING: "Solution Validates" @@ -307,7 +307,7 @@ jobs: name: STREAM openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -315,7 +315,7 @@ jobs: name: STREAM openmp gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -323,7 +323,7 @@ jobs: name: STREAM openmp gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -331,7 +331,7 @@ jobs: name: STREAM openmp armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 PASS_STRING: "Solution Validates" @@ -563,7 +563,7 @@ jobs: name: STREAM serial gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -571,7 +571,7 @@ jobs: name: STREAM serial gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -579,7 +579,7 @@ jobs: name: STREAM serial gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -587,7 +587,7 @@ jobs: name: STREAM serial armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve PASS_STRING: "Solution Validates" @@ -595,7 +595,7 @@ jobs: name: STREAM openmp gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -603,7 +603,7 @@ jobs: name: STREAM openmp gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -611,7 +611,7 @@ jobs: name: STREAM openmp gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -619,7 +619,7 @@ jobs: name: STREAM openmp armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve PASS_STRING: "Solution Validates" diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 6046a461f4..968ca41182 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -213,7 +213,7 @@ jobs: name: STREAM serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -221,7 +221,7 @@ jobs: name: STREAM serial gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -229,7 +229,7 @@ jobs: name: STREAM serial gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -237,7 +237,7 @@ jobs: name: STREAM serial armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 PASS_STRING: "Solution Validates" @@ -245,7 +245,7 @@ jobs: name: STREAM openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -253,7 +253,7 @@ jobs: name: STREAM openmp gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -261,7 +261,7 @@ jobs: name: STREAM openmp gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 PASS_STRING: "Solution Validates" @@ -269,7 +269,7 @@ jobs: name: STREAM openmp armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 PASS_STRING: "Solution Validates" @@ -501,7 +501,7 @@ jobs: name: STREAM serial gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -509,7 +509,7 @@ jobs: name: STREAM serial gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -517,7 +517,7 @@ jobs: name: STREAM serial gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -525,7 +525,7 @@ jobs: name: STREAM serial armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve PASS_STRING: "Solution Validates" @@ -533,7 +533,7 @@ jobs: name: STREAM openmp gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -541,7 +541,7 @@ jobs: name: STREAM openmp gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -549,7 +549,7 @@ jobs: name: STREAM openmp gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve PASS_STRING: "Solution Validates" @@ -557,7 +557,7 @@ jobs: name: STREAM openmp armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve PASS_STRING: "Solution Validates" From c7ae2fa9a7cf2973fb99197777cf49f52d69c4ef Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 09:54:25 +0000 Subject: [PATCH 241/254] Bringing it all together! --- .github/actions/simeng_benchmarks/action.yml | 4 +- .github/workflows/MACOS_BUILD_TEST.yml | 1080 +++++++++--------- 2 files changed, 542 insertions(+), 542 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index c6228cb62c..237b75a3e4 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,9 +20,9 @@ runs: run: | if [ $datafile_path ] then - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp else - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" > $GITHUB_WORKSPACE/simeng.tmp + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp fi if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" then diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 968ca41182..624047d92b 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -121,61 +121,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 PASS_STRING: "This test is considered PASSED" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 - PASS_STRING: "This test is considered PASSED" +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 +# PASS_STRING: "This test is considered PASSED" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: miniBUDE openmp gcc8.3.0 armv8.4 @@ -185,29 +185,29 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 - PASS_STRING: "Largest difference was 0.000%." +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: STREAM serial gcc8.3.0 armv8.4 @@ -217,61 +217,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 - PASS_STRING: "Solution Validates" +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 +# PASS_STRING: "Solution Validates" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: TeaLeaf 2D serial gcc8.3.0 armv8.4 @@ -281,410 +281,410 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 PASS_STRING: "This run PASSED" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" \ No newline at end of file +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" \ No newline at end of file From 9c540724e4f7d268830168ca231f3d286746759b Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 10:45:53 +0000 Subject: [PATCH 242/254] Bringing it all together! --- .github/actions/simeng_benchmarks/action.yml | 2 +- .github/workflows/LINUX_BUILD_TEST.yml | 1080 +++++++++--------- .github/workflows/MAIN.yml | 28 +- 3 files changed, 555 insertions(+), 555 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 237b75a3e4..56055d5e0f 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -18,7 +18,7 @@ runs: - name: Run Benchmark shell: bash run: | - if [ $datafile_path ] + if [ ${{ inputs.RUN_DIR }} ] then simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp else diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 04456d970f..8258753256 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -183,61 +183,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 PASS_STRING: "This test is considered PASSED" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 - PASS_STRING: "This test is considered PASSED" +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 +# PASS_STRING: "This test is considered PASSED" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: miniBUDE openmp gcc8.3.0 armv8.4 @@ -247,29 +247,29 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 - PASS_STRING: "Largest difference was 0.000%." +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 +# PASS_STRING: "Largest difference was 0.000%." - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: STREAM serial gcc8.3.0 armv8.4 @@ -279,61 +279,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 - PASS_STRING: "Solution Validates" +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 +# PASS_STRING: "Solution Validates" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: TeaLeaf 2D serial gcc8.3.0 armv8.4 @@ -343,411 +343,411 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 PASS_STRING: "This run PASSED" - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp armclang20 armv8.4 - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: CloverLeaf openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve - PASS_STRING: "This test is considered PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: miniBUDE openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve - PASS_STRING: "Largest difference was 0.000%." - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: STREAM openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve - PASS_STRING: "Solution Validates" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 2D openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D serial armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve - PASS_STRING: "This run PASSED" - - - if: ${{ inputs.SIMENG-MODE == 'Release' }} - name: TeaLeaf 3D openmp armclang20 armv8.4+sve - uses: ./.github/actions/simeng_benchmarks - with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d - BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve - PASS_STRING: "This run PASSED" +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp armclang20 armv8.4 +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: CloverLeaf openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve +# PASS_STRING: "This test is considered PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: miniBUDE openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve +# PASS_STRING: "Largest difference was 0.000%." +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: STREAM openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve +# PASS_STRING: "Solution Validates" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 2D openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D serial armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve +# PASS_STRING: "This run PASSED" +# +# - if: ${{ inputs.SIMENG-MODE == 'Release' }} +# name: TeaLeaf 3D openmp armclang20 armv8.4+sve +# uses: ./.github/actions/simeng_benchmarks +# with: +# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d +# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve +# PASS_STRING: "This run PASSED" diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 8099ed46ab..74e57665e8 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,20 +14,20 @@ jobs: ################################### # Debug Mode ################################### - DEBUG_LINUX: - name: "Debug - build and test" - uses: ./.github/workflows/LINUX_BUILD_TEST.yml - with: - RUNNER: ubuntu-latest - SIMENG-MODE: Debug - secrets: inherit - - DEBUG_MACOS: - name: "Debug - build and test" - uses: ./.github/workflows/MACOS_BUILD_TEST.yml - with: - SIMENG-MODE: Debug - secrets: inherit +# DEBUG_LINUX: +# name: "Debug - build and test" +# uses: ./.github/workflows/LINUX_BUILD_TEST.yml +# with: +# RUNNER: ubuntu-latest +# SIMENG-MODE: Debug +# secrets: inherit +# +# DEBUG_MACOS: +# name: "Debug - build and test" +# uses: ./.github/workflows/MACOS_BUILD_TEST.yml +# with: +# SIMENG-MODE: Debug +# secrets: inherit ################################## # Release Mode From c099d98a2afbca832b10e6adf7ddf6dede15a102 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:20:09 +0000 Subject: [PATCH 243/254] Back to playing -- TeaLeaf being a pain --- .github/actions/simeng_benchmarks/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 56055d5e0f..47d89a32dc 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -20,6 +20,7 @@ runs: run: | if [ ${{ inputs.RUN_DIR }} ] then + ls "${{ inputs.RUN_DIR }}" simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp else simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp From 849696c5b00a15385aeeb0053f45838cacf6edd0 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:37:24 +0000 Subject: [PATCH 244/254] Back to playing -- TeaLeaf being a pain --- .github/actions/simeng_benchmarks/action.yml | 10 ++++++++-- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- .github/workflows/MACOS_BUILD_TEST.yml | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 47d89a32dc..b3039c0dc0 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -5,6 +5,9 @@ inputs: RUN_DIR: description: directory from which the benchmark binary should be run required: false + DATA_PATH: + description: location of the data file(s) for this benchmarks + required: false BIN_PATH: description: path to the binary for the benchmark required: true @@ -18,10 +21,13 @@ runs: - name: Run Benchmark shell: bash run: | - if [ ${{ inputs.RUN_DIR }} ] + if [ ${{ inputs.DATA_PATH }} ] then - ls "${{ inputs.RUN_DIR }}" simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp + elif [ ${{ inputs.RUN_DIR }} ] + then + cd ${{ inputs.RUN_DIR }} + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp else simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp fi diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 8258753256..9d639f00ba 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -243,7 +243,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 624047d92b..35ec7da98c 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." From 5fdb2d4627a3ff52b2a8c7c87d85a25395659a4b Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:49:11 +0000 Subject: [PATCH 245/254] Back to playing -- TeaLeaf being a pain --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index b3039c0dc0..ccf4a78485 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -23,7 +23,7 @@ runs: run: | if [ ${{ inputs.DATA_PATH }} ] then - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.RUN_DIR }}" > $GITHUB_WORKSPACE/simeng.tmp + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.DATA_PATH }}" > $GITHUB_WORKSPACE/simeng.tmp elif [ ${{ inputs.RUN_DIR }} ] then cd ${{ inputs.RUN_DIR }} From d1c2b91251e092fab73c54d516e69317d2b2a71a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:05:44 +0000 Subject: [PATCH 246/254] Fingers crossed -- might this finally be it?! --- .github/workflows/LINUX_BUILD_TEST.yml | 1067 ++++++++++++------------ .github/workflows/MACOS_BUILD_TEST.yml | 1066 ++++++++++++----------- .github/workflows/MAIN.yml | 28 +- 3 files changed, 1064 insertions(+), 1097 deletions(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 9d639f00ba..d15bab9259 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # armclang ] compiler names + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### @@ -183,61 +183,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 PASS_STRING: "This test is considered PASSED" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 -# PASS_STRING: "This test is considered PASSED" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: miniBUDE openmp gcc8.3.0 armv8.4 @@ -247,93 +247,85 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 + PASS_STRING: "Largest difference was 0.000%." - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: STREAM serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 -# PASS_STRING: "Solution Validates" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 + PASS_STRING: "Solution Validates" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: TeaLeaf 2D serial gcc8.3.0 armv8.4 @@ -343,411 +335,402 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 PASS_STRING: "This run PASSED" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" \ No newline at end of file diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 35ec7da98c..02ade28d05 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -121,61 +121,61 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4 PASS_STRING: "This test is considered PASSED" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 -# PASS_STRING: "This test is considered PASSED" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4 + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4 + PASS_STRING: "This test is considered PASSED" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: miniBUDE openmp gcc8.3.0 armv8.4 @@ -185,93 +185,85 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 -# PASS_STRING: "Largest difference was 0.000%." + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 + PASS_STRING: "Largest difference was 0.000%." - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: STREAM serial gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4 PASS_STRING: "Solution Validates" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 -# PASS_STRING: "Solution Validates" + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4 + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4 + PASS_STRING: "Solution Validates" - if: ${{ inputs.SIMENG-MODE == 'Release' }} name: TeaLeaf 2D serial gcc8.3.0 armv8.4 @@ -281,410 +273,402 @@ jobs: BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4 PASS_STRING: "This run PASSED" -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp armclang20 armv8.4 -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: CloverLeaf openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve -# PASS_STRING: "This test is considered PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: miniBUDE openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve -# PASS_STRING: "Largest difference was 0.000%." -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: STREAM openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -## RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve -# PASS_STRING: "Solution Validates" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 2D openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D serial armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve -# PASS_STRING: "This run PASSED" -# -# - if: ${{ inputs.SIMENG-MODE == 'Release' }} -# name: TeaLeaf 3D openmp armclang20 armv8.4+sve -# uses: ./.github/actions/simeng_benchmarks -# with: -# RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d -# BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve -# PASS_STRING: "This run PASSED" \ No newline at end of file + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4 + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4 + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/serial/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: CloverLeaf openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/CloverLeaf + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/CloverLeaf/openmp/cloverleaf_armclang20_armv8.4+sve + PASS_STRING: "This test is considered PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: miniBUDE openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve + PASS_STRING: "Largest difference was 0.000%." + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: STREAM openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/STREAM/stream-omp_armclang20_armv8.4+sve + PASS_STRING: "Solution Validates" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 2D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/2d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/2d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D serial armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc8.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc8.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc9.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc9.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp gcc10.3.0 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_gcc10.3.0_armv8.4+sve + PASS_STRING: "This run PASSED" + + - if: ${{ inputs.SIMENG-MODE == 'Release' }} + name: TeaLeaf 3D openmp armclang20 armv8.4+sve + uses: ./.github/actions/simeng_benchmarks + with: + RUN_DIR: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/TeaLeaf/3d + BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/TeaLeaf/3d/tealeaf-omp_armclang20_armv8.4+sve + PASS_STRING: "This run PASSED" \ No newline at end of file diff --git a/.github/workflows/MAIN.yml b/.github/workflows/MAIN.yml index 74e57665e8..8099ed46ab 100644 --- a/.github/workflows/MAIN.yml +++ b/.github/workflows/MAIN.yml @@ -14,20 +14,20 @@ jobs: ################################### # Debug Mode ################################### -# DEBUG_LINUX: -# name: "Debug - build and test" -# uses: ./.github/workflows/LINUX_BUILD_TEST.yml -# with: -# RUNNER: ubuntu-latest -# SIMENG-MODE: Debug -# secrets: inherit -# -# DEBUG_MACOS: -# name: "Debug - build and test" -# uses: ./.github/workflows/MACOS_BUILD_TEST.yml -# with: -# SIMENG-MODE: Debug -# secrets: inherit + DEBUG_LINUX: + name: "Debug - build and test" + uses: ./.github/workflows/LINUX_BUILD_TEST.yml + with: + RUNNER: ubuntu-latest + SIMENG-MODE: Debug + secrets: inherit + + DEBUG_MACOS: + name: "Debug - build and test" + uses: ./.github/workflows/MACOS_BUILD_TEST.yml + with: + SIMENG-MODE: Debug + secrets: inherit ################################## # Release Mode From 56b0d1e4e2d790a3721671be18a9694db8b880b2 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:10:30 +0000 Subject: [PATCH 247/254] Seeing what happens with armclang --- .github/actions/simeng_benchmarks/action.yml | 1 + .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index ccf4a78485..24f1025bff 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -31,6 +31,7 @@ runs: else simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp fi + if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" then cat $GITHUB_WORKSPACE/simeng.tmp diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index d15bab9259..f774e19e3d 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # compiler names + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10', 'armclang'] # compiler names OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### From 7643c79d21fabd52df8105f16b9dc95efea9a13c Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 15:26:22 +0000 Subject: [PATCH 248/254] Finalising the comments etc. --- .github/workflows/LINUX_BUILD_TEST.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index f774e19e3d..18b7ea94c3 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: - COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10', 'armclang'] # compiler names + COMPILER: ['gcc-7', 'gcc-8', 'gcc-9', 'gcc-10'] # todo 'armclang'] # compiler names OS: ['ubuntu:18.04','ubuntu:20.04', 'rockylinux:8', 'redhat/ubi8:latest', 'redhat/ubi9:latest', 'debian:10', 'debian:11'] # Docker images ####################################### From 9ba803d0dd7ec7ccb9b59cc0a36f8daa2c787c3e Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:28:03 +0000 Subject: [PATCH 249/254] Changes. --- .github/actions/simeng_benchmarks/action.yml | 15 ++++++--------- .github/workflows/LINUX_BUILD_TEST.yml | 16 ++++++++-------- .github/workflows/MACOS_BUILD_TEST.yml | 16 ++++++++-------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 24f1025bff..5a27eba2b2 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -5,9 +5,10 @@ inputs: RUN_DIR: description: directory from which the benchmark binary should be run required: false - DATA_PATH: - description: location of the data file(s) for this benchmarks + AGRS: + description: Any additional arguments needed to run this benchmark on SimEng required: false + default: "" BIN_PATH: description: path to the binary for the benchmark required: true @@ -21,16 +22,12 @@ runs: - name: Run Benchmark shell: bash run: | - if [ ${{ inputs.DATA_PATH }} ] - then - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 --deck "${{ inputs.DATA_PATH }}" > $GITHUB_WORKSPACE/simeng.tmp - elif [ ${{ inputs.RUN_DIR }} ] + if [ ${{ inputs.RUN_DIR }} ] then cd ${{ inputs.RUN_DIR }} - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp - else - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" -n 64 -i 1 > $GITHUB_WORKSPACE/simeng.tmp fi + + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" "${{ inputs.ARGS }}" > $GITHUB_WORKSPACE/simeng.tmp if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" then diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index 18b7ea94c3..dda1f64b18 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -243,7 +243,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -251,7 +251,7 @@ jobs: name: miniBUDE openmp gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -259,7 +259,7 @@ jobs: name: miniBUDE openmp gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -267,7 +267,7 @@ jobs: name: miniBUDE openmp armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -523,7 +523,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -531,7 +531,7 @@ jobs: name: miniBUDE openmp gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -539,7 +539,7 @@ jobs: name: miniBUDE openmp gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -547,7 +547,7 @@ jobs: name: miniBUDE openmp armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 02ade28d05..279f2bdf04 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -181,7 +181,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -189,7 +189,7 @@ jobs: name: miniBUDE openmp gcc9.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -197,7 +197,7 @@ jobs: name: miniBUDE openmp gcc10.3.0 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -205,7 +205,7 @@ jobs: name: miniBUDE openmp armclang20 armv8.4 uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4 PASS_STRING: "Largest difference was 0.000%." @@ -461,7 +461,7 @@ jobs: name: miniBUDE openmp gcc8.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc8.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -469,7 +469,7 @@ jobs: name: miniBUDE openmp gcc9.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc9.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -477,7 +477,7 @@ jobs: name: miniBUDE openmp gcc10.3.0 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_gcc10.3.0_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." @@ -485,7 +485,7 @@ jobs: name: miniBUDE openmp armclang20 armv8.4+sve uses: ./.github/actions/simeng_benchmarks with: - DATA_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1 + ARGS: "-n 64 -i 1 --deck $GITHUB_WORKSPACE/simeng-benchmarks/Data_Files/miniBUDE/bm1" BIN_PATH: $GITHUB_WORKSPACE/simeng-benchmarks/binaries/miniBUDE/openmp/minibude_armclang20_armv8.4+sve PASS_STRING: "Largest difference was 0.000%." From 28866b9b96a93d4e26a0b12064f3e626b42372e9 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:44:58 +0000 Subject: [PATCH 250/254] Changes. --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 5a27eba2b2..5e2a39eabd 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -5,7 +5,7 @@ inputs: RUN_DIR: description: directory from which the benchmark binary should be run required: false - AGRS: + ARGS: description: Any additional arguments needed to run this benchmark on SimEng required: false default: "" From 397b07a9123e7b9cb2a14aed672480b50ca8fdba Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Mon, 28 Oct 2024 18:17:00 +0000 Subject: [PATCH 251/254] Changes. --- .github/actions/simeng_benchmarks/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/simeng_benchmarks/action.yml b/.github/actions/simeng_benchmarks/action.yml index 5e2a39eabd..d7814ca6f8 100644 --- a/.github/actions/simeng_benchmarks/action.yml +++ b/.github/actions/simeng_benchmarks/action.yml @@ -27,7 +27,7 @@ runs: cd ${{ inputs.RUN_DIR }} fi - simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" "${{ inputs.ARGS }}" > $GITHUB_WORKSPACE/simeng.tmp + simeng "$GITHUB_WORKSPACE/configs/a64fx.yaml" "${{ inputs.BIN_PATH }}" ${{ inputs.ARGS }} > $GITHUB_WORKSPACE/simeng.tmp if grep -q ${{ inputs.PASS_STRING }} "$GITHUB_WORKSPACE/simeng.tmp" then From 905e676aaa01201c245262f4b28337f8efcdbcaa Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:20:22 +0000 Subject: [PATCH 252/254] Adding comments explaining individulaised steps for each benchmark --- .github/workflows/LINUX_BUILD_TEST.yml | 2 ++ .github/workflows/MACOS_BUILD_TEST.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/LINUX_BUILD_TEST.yml b/.github/workflows/LINUX_BUILD_TEST.yml index dda1f64b18..e871acff89 100644 --- a/.github/workflows/LINUX_BUILD_TEST.yml +++ b/.github/workflows/LINUX_BUILD_TEST.yml @@ -155,6 +155,8 @@ jobs: ####################################### # Run Benchmarks + # Separate steps for each benchmark to ensure itemised outputs + # in the actions interface ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} diff --git a/.github/workflows/MACOS_BUILD_TEST.yml b/.github/workflows/MACOS_BUILD_TEST.yml index 279f2bdf04..18a2e86c96 100644 --- a/.github/workflows/MACOS_BUILD_TEST.yml +++ b/.github/workflows/MACOS_BUILD_TEST.yml @@ -93,6 +93,8 @@ jobs: ####################################### # Run Benchmarks + # Separate steps for each benchmark to ensure itemised outputs + # in the actions interface ####################################### - if: ${{ contains(fromJson('["ubuntu:18.04"]'), matrix.OS) && inputs.SIMENG-MODE == 'Release' }} From 58205909a1a983a5db7c31b024b9288af46a1b5a Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Tue, 5 Nov 2024 11:48:51 +0000 Subject: [PATCH 253/254] Updating comments on GH actions --- .github/actions/select_setup/action.yml | 4 ++-- .github/actions/setup_armclang_debian/action.yml | 2 +- .github/actions/setup_armclang_redhat/action.yml | 2 +- .github/actions/setup_armclang_rocky/action.yml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/select_setup/action.yml b/.github/actions/select_setup/action.yml index 47d3c2c83d..4b8f6c0579 100644 --- a/.github/actions/select_setup/action.yml +++ b/.github/actions/select_setup/action.yml @@ -1,5 +1,5 @@ -name: setup armclang -description: installs dependencies and correct armclang version to build and test simeng +name: Setup compiler and OS combo +description: installs dependencies and correct compiler/OS versions to build and test simeng ############################################################################## # Calls the correct setup action based on parameters passed into this action. diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index 177aa447a7..00028cbd16 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -1,4 +1,4 @@ -name: setup gcc +name: setup armclang description: installs dependencies and correct gcc version to build and test simeng inputs: diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index 13c08160db..9bb73668ce 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -1,4 +1,4 @@ -name: setup gcc +name: setup armclang description: installs dependencies and correct gcc version to build and test simeng inputs: diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 3a51d744a5..3122bc895a 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -1,4 +1,4 @@ -name: setup gcc +name: setup armclang description: installs dependencies and correct gcc version to build and test simeng inputs: From fc06a88ea3d630d590c3ea57830facd1f616cb82 Mon Sep 17 00:00:00 2001 From: Alex Cockrean <84676155+ABenC377@users.noreply.github.com> Date: Wed, 6 Nov 2024 11:58:08 +0000 Subject: [PATCH 254/254] Updating comments on GH actions --- .github/actions/setup_armclang_debian/action.yml | 2 +- .github/actions/setup_armclang_redhat/action.yml | 2 +- .github/actions/setup_armclang_rocky/action.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup_armclang_debian/action.yml b/.github/actions/setup_armclang_debian/action.yml index 00028cbd16..fc54a98284 100644 --- a/.github/actions/setup_armclang_debian/action.yml +++ b/.github/actions/setup_armclang_debian/action.yml @@ -1,5 +1,5 @@ name: setup armclang -description: installs dependencies and correct gcc version to build and test simeng +description: installs dependencies and correct armclang version to build and test simeng inputs: OS: diff --git a/.github/actions/setup_armclang_redhat/action.yml b/.github/actions/setup_armclang_redhat/action.yml index 9bb73668ce..592e375d01 100644 --- a/.github/actions/setup_armclang_redhat/action.yml +++ b/.github/actions/setup_armclang_redhat/action.yml @@ -1,5 +1,5 @@ name: setup armclang -description: installs dependencies and correct gcc version to build and test simeng +description: installs dependencies and correct armclang version to build and test simeng inputs: OS: diff --git a/.github/actions/setup_armclang_rocky/action.yml b/.github/actions/setup_armclang_rocky/action.yml index 3122bc895a..93f337f02a 100644 --- a/.github/actions/setup_armclang_rocky/action.yml +++ b/.github/actions/setup_armclang_rocky/action.yml @@ -1,5 +1,5 @@ name: setup armclang -description: installs dependencies and correct gcc version to build and test simeng +description: installs dependencies and correct armclang version to build and test simeng inputs: OS: