From 9ab7ecf710b21059e88988b770297e7f37b233bd Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:34:39 +0200 Subject: [PATCH 1/6] change position --- .github/workflows/main.yml | 40 ++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ca5fb8197..1fdbff8ca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,11 +30,11 @@ jobs: - name: Run linter run: | python3 -m flake8 . - ubuntu-gcc-arm64-build: + ubuntu-gcc-build: needs: - clang-format - python-lint - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 with: @@ -47,7 +47,7 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: - key: ${{ runner.os }}-gcc-arm64 + key: ${{ runner.os }}-gcc create-symlink: true max-size: 1G - name: CMake configure @@ -60,6 +60,11 @@ jobs: env: CC: gcc-14 CXX: g++-14 + - name: Archive revert list + uses: actions/upload-artifact@v4 + with: + name: revert-list + path: build/revert-list.txt - name: Build project run: | cmake --build build --parallel @@ -71,17 +76,16 @@ jobs: cmake --build build --target install - name: Archive installed package run: | - tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install . + tar -czvf ubuntu-gcc-install.tar.gz -C install . - name: Upload installed package uses: actions/upload-artifact@v4 with: - name: ubuntu-gcc-arm64-install - path: ubuntu-gcc-arm64-install.tar.gz - ubuntu-gcc-build: + name: ubuntu-gcc-install + path: ubuntu-gcc-install.tar.gz + ubuntu-gcc-arm64-build: needs: - - clang-format - - python-lint - runs-on: ubuntu-24.04 + - ubuntu-gcc-build + runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 with: @@ -94,7 +98,7 @@ jobs: - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: - key: ${{ runner.os }}-gcc + key: ${{ runner.os }}-gcc-arm64 create-symlink: true max-size: 1G - name: CMake configure @@ -107,11 +111,6 @@ jobs: env: CC: gcc-14 CXX: g++-14 - - name: Archive revert list - uses: actions/upload-artifact@v4 - with: - name: revert-list - path: build/revert-list.txt - name: Build project run: | cmake --build build --parallel @@ -123,12 +122,12 @@ jobs: cmake --build build --target install - name: Archive installed package run: | - tar -czvf ubuntu-gcc-install.tar.gz -C install . + tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install . - name: Upload installed package uses: actions/upload-artifact@v4 with: - name: ubuntu-gcc-install - path: ubuntu-gcc-install.tar.gz + name: ubuntu-gcc-arm64-install + path: ubuntu-gcc-arm64-install.tar.gz ubuntu-gcc-test: needs: - ubuntu-gcc-build @@ -286,8 +285,7 @@ jobs: path: ubuntu-clang-install.tar.gz ubuntu-clang-arm64-build: needs: - - clang-format - - python-lint + - ubuntu-clang-build runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 From dafcf27fc91337c77f83ff8d6fee5b7de17c614b Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:40:25 +0200 Subject: [PATCH 2/6] add 1st level tests --- .github/workflows/main.yml | 112 +++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1fdbff8ca..18b58ad50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -183,6 +183,61 @@ jobs: run: python3 scripts/run_tests.py --running-type="threads" env: OMP_NUM_THREADS: 4 + ubuntu-gcc-arm64-test: + needs: + - ubuntu-gcc-arm64-build + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v4 + - name: Setup environment + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind + python3 -m pip install -r requirements.txt + - name: Download installed package + uses: actions/download-artifact@v4 + with: + name: ubuntu-gcc-arm64-install + - name: Extract installed package + run: | + mkdir -p install + tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install + - name: Run func tests (MPI, num_proc=1) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 1 + OMP_NUM_THREADS: 3 + - name: Run func tests (MPI, num_proc=2) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 2 + OMP_NUM_THREADS: 2 + - name: Run func tests (MPI, num_proc=3) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 3 + OMP_NUM_THREADS: 1 + - name: Run func tests (MPI, num_proc=4) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 4 + OMP_NUM_THREADS: 1 + - name: Run func tests (threads, num_threads=1) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 1 + - name: Run func tests (threads, num_threads=2) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 2 + - name: Run func tests (threads, num_threads=3) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 3 + - name: Run func tests (threads, num_threads=4) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 4 ubuntu-gcc-test-extended: needs: - ubuntu-gcc-test @@ -388,6 +443,63 @@ jobs: run: python3 scripts/run_tests.py --running-type="threads" env: OMP_NUM_THREADS: 4 + ubuntu-clang-arm64-test: + needs: + - ubuntu-clang-arm64-build + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v4 + - name: Setup environment + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind + wget https://apt.llvm.org/llvm.sh + chmod u+x llvm.sh + sudo ./llvm.sh 20 all + - name: Download installed package + uses: actions/download-artifact@v4 + with: + name: ubuntu-clang-arm64-install + - name: Extract installed package + run: | + mkdir -p install + tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install + - name: Run func tests (MPI, num_proc=1) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 1 + OMP_NUM_THREADS: 3 + - name: Run func tests (MPI, num_proc=2) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 2 + OMP_NUM_THREADS: 2 + - name: Run func tests (MPI, num_proc=3) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 3 + OMP_NUM_THREADS: 1 + - name: Run func tests (MPI, num_proc=4) + run: python3 scripts/run_tests.py --running-type="processes" + env: + PROC_COUNT: 4 + OMP_NUM_THREADS: 1 + - name: Run tests (threads, num_threads=1) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 1 + - name: Run tests (threads, num_threads=2) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 2 + - name: Run tests (threads, num_threads=3) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 3 + - name: Run tests (threads, num_threads=4) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 4 ubuntu-clang-test-extended: needs: - ubuntu-clang-test From a4609c16ce1b243d1d584c5a9b943ae91e4570b4 Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:45:16 +0200 Subject: [PATCH 3/6] add 2nd level tests --- .github/workflows/main.yml | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 18b58ad50..21b1dc4bc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -289,6 +289,57 @@ jobs: run: python3 scripts/run_tests.py --running-type="threads" env: OMP_NUM_THREADS: 16 + ubuntu-gcc-arm64-test-extended: + needs: + - ubuntu-gcc-arm64-test + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v4 + - name: Setup environment + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind + python3 -m pip install -r requirements.txt + - name: Download installed package + uses: actions/download-artifact@v4 + with: + name: ubuntu-gcc-arm64-install + - name: Extract installed package + run: | + mkdir -p install + tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install + - name: Run func tests (threads, num_threads=5) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 5 + - name: Run func tests (threads, num_threads=6) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 6 + - name: Run func tests (threads, num_threads=7) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 7 + - name: Run func tests (threads, num_threads=8) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 8 + - name: Run func tests (threads, num_threads=11) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 11 + - name: Run func tests (threads, num_threads=13) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 13 + - name: Run func tests (threads, num_threads=15) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 15 + - name: Run func tests (threads, num_threads=16) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 16 ubuntu-clang-build: needs: - clang-format @@ -553,6 +604,59 @@ jobs: run: python3 scripts/run_tests.py --running-type="threads" env: OMP_NUM_THREADS: 16 + ubuntu-clang-arm64-test-extended: + needs: + - ubuntu-clang-arm64-test + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v4 + - name: Setup environment + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind + wget https://apt.llvm.org/llvm.sh + chmod u+x llvm.sh + sudo ./llvm.sh 20 all + - name: Download installed package + uses: actions/download-artifact@v4 + with: + name: ubuntu-clang-arm64-install + - name: Extract installed package + run: | + mkdir -p install + tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install + - name: Run tests (threads, num_threads=5) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 5 + - name: Run tests (threads, num_threads=6) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 6 + - name: Run tests (threads, num_threads=7) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 7 + - name: Run tests (threads, num_threads=8) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 8 + - name: Run tests (threads, num_threads=11) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 11 + - name: Run tests (threads, num_threads=13) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 13 + - name: Run tests (threads, num_threads=15) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 15 + - name: Run tests (threads, num_threads=16) + run: python3 scripts/run_tests.py --running-type="threads" + env: + OMP_NUM_THREADS: 16 ubuntu-clang-sanitizer-build: needs: - ubuntu-clang-build @@ -1292,7 +1396,9 @@ jobs: ubuntu-gcc-build-perf-stats: needs: - ubuntu-gcc-build-codecov + - ubuntu-gcc-arm64-test-extended - ubuntu-clang-sanitizer-test-extended + - ubuntu-clang-arm64-test-extended - windows-clang-test-extended - windows-msvc-test-extended runs-on: ubuntu-24.04 From d2357015747e9bdf36cabc99356a265a5f4d6111 Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:46:58 +0200 Subject: [PATCH 4/6] change graph --- .github/workflows/main.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 21b1dc4bc..79d3575bf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -84,7 +84,8 @@ jobs: path: ubuntu-gcc-install.tar.gz ubuntu-gcc-arm64-build: needs: - - ubuntu-gcc-build + - clang-format + - python-lint runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 @@ -391,7 +392,8 @@ jobs: path: ubuntu-clang-install.tar.gz ubuntu-clang-arm64-build: needs: - - ubuntu-clang-build + - clang-format + - python-lint runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@v4 From 2f7cf5addd08b0408cb3aad51d35b1d20fa7ef3d Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:48:41 +0200 Subject: [PATCH 5/6] change graph 2 --- .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 79d3575bf..f37f6750d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1318,7 +1318,9 @@ jobs: ubuntu-gcc-build-codecov: needs: - ubuntu-gcc-test-extended + - ubuntu-gcc-arm64-test-extended - ubuntu-clang-test-extended + - ubuntu-clang-arm64-test-extended - macos-clang-test-extended runs-on: ubuntu-24.04 steps: @@ -1398,9 +1400,7 @@ jobs: ubuntu-gcc-build-perf-stats: needs: - ubuntu-gcc-build-codecov - - ubuntu-gcc-arm64-test-extended - ubuntu-clang-sanitizer-test-extended - - ubuntu-clang-arm64-test-extended - windows-clang-test-extended - windows-msvc-test-extended runs-on: ubuntu-24.04 From 909f8eef2ec65f674cfad88bb1a8dd36105c01bc Mon Sep 17 00:00:00 2001 From: Alexander Nesterov Date: Wed, 14 May 2025 01:56:57 +0200 Subject: [PATCH 6/6] change graph final --- .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 f37f6750d..79d3575bf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1318,9 +1318,7 @@ jobs: ubuntu-gcc-build-codecov: needs: - ubuntu-gcc-test-extended - - ubuntu-gcc-arm64-test-extended - ubuntu-clang-test-extended - - ubuntu-clang-arm64-test-extended - macos-clang-test-extended runs-on: ubuntu-24.04 steps: @@ -1400,7 +1398,9 @@ jobs: ubuntu-gcc-build-perf-stats: needs: - ubuntu-gcc-build-codecov + - ubuntu-gcc-arm64-test-extended - ubuntu-clang-sanitizer-test-extended + - ubuntu-clang-arm64-test-extended - windows-clang-test-extended - windows-msvc-test-extended runs-on: ubuntu-24.04