Feat/fp16/math 1 reinstoring #3916
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #################################################################################################### | |
| ## EVE - Expressive Vector Engine | |
| ## Copyright : EVE Project Contributors | |
| ## SPDX-License-Identifier: BSL-1.0 | |
| #################################################################################################### | |
| name: EVE - Unit Tests | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| concurrency: | |
| group: unit-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ################################################################################################## | |
| ## Special non-arch-specific tests | |
| ################################################################################################## | |
| special: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang, arch: x86 , opts: "-mavx2 -O3 -DEVE_SPECIAL_TESTS" } | |
| - { comp: gcc , arch: x86 , opts: "-mavx2 -O3 -DEVE_SPECIAL_TESTS" } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DEVE_USE_PCH=0 \ | |
| -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compile Unit Tests | |
| run: | | |
| cd build | |
| ninja -j 4 unit.internals.float16.exe | |
| - name: Running Unit Tests | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R unit.internals.float16.exe | |
| ################################################################################################## | |
| ## Check no PCH mode | |
| ################################################################################################## | |
| no_pch: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang, arch: x86 , opts: "-msse2" } | |
| - { comp: gcc , arch: x86 , opts: "-msse2" } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DEVE_USE_PCH=0 \ | |
| -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: "Chunk 1: Compile" | |
| run: | | |
| cd build | |
| ninja unit.core.exe -j 4 | |
| - name: "Chunk 1: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.core\." | |
| - name: "Chunk 1: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 2: Compile" | |
| run: | | |
| cd build | |
| ninja unit.api.exe unit.math.exe -j 4 | |
| - name: "Chunk 2: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.api\.|^unit\.math\." | |
| - name: "Chunk 2: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 3: Compile" | |
| run: | | |
| cd build | |
| ninja unit.arch.exe unit.meta.exe unit.internals.exe unit.polynomial.exe unit.combinatorial.exe unit.bessel.exe unit.elliptic.exe unit.memory.exe unit.special.exe unit.algo.exe examples.exe -j 4 | |
| - name: "Chunk 3: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.arch\.|^unit\.meta\.|^unit\.internals\.|^unit\.polynomial\.|^unit\.combinatorial\.|^unit\.bessel\.|^unit\.elliptic\.|^unit\.memory\.|^unit\.special\.|^unit\.algo\.|^examples\." | |
| ################################################################################################## | |
| ## Check External dependencies | |
| ################################################################################################## | |
| externals: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang, arch: x86 , opts: "-mavx2 -mf16c" } | |
| - { comp: gcc , arch: x86 , opts: "-msse2" } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Install KUMI | |
| run: | | |
| mkdir 3rdparty | |
| cd 3rdparty | |
| git clone https://github.com/jfalcou/kumi.git | |
| cd kumi | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja | |
| cmake --install . --prefix /usr | |
| - name: Install RABERU | |
| run: | | |
| cd 3rdparty | |
| git clone https://github.com/jfalcou/raberu.git | |
| cd raberu | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja | |
| cmake --install . --prefix /usr | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }} -DEVE_USE_EXTERNAL_DEPENDENCIES" \ | |
| -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: "Chunk 1: Compile" | |
| run: | | |
| cd build | |
| ninja unit.core.exe -j 4 | |
| - name: "Chunk 1: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.core\." | |
| - name: "Chunk 1: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 2: Compile" | |
| run: | | |
| cd build | |
| ninja unit.api.exe unit.math.exe -j 4 | |
| - name: "Chunk 2: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.api\.|^unit\.math\." | |
| - name: "Chunk 2: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 3: Compile" | |
| run: | | |
| cd build | |
| ninja unit.arch.exe unit.meta.exe unit.internals.exe unit.polynomial.exe unit.combinatorial.exe unit.bessel.exe unit.elliptic.exe unit.memory.exe unit.special.exe unit.algo.exe examples.exe -j 4 | |
| - name: "Chunk 3: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.arch\.|^unit\.meta\.|^unit\.internals\.|^unit\.polynomial\.|^unit\.combinatorial\.|^unit\.bessel\.|^unit\.elliptic\.|^unit\.memory\.|^unit\.special\.|^unit\.algo\.|^examples\." | |
| ################################################################################################## | |
| ## RISC-V Targets | |
| ################################################################################################## | |
| riscv: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v9b | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang , arch: riscv, runner: "run_rvv128", opts: "-mrvv-vector-bits=128 -march=rv64gcv -O3" } | |
| - { comp: clang , arch: riscv, runner: "run_rvv128_fhmin", opts: "-mrvv-vector-bits=128 -march=rv64gcv_zfhmin_zvfhmin -O3" } | |
| - { comp: clang , arch: riscv, runner: "run_rvv256", opts: "-mrvv-vector-bits=256 -march=rv64gcv_zfh_zvfh -O3" } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_RUNNER_SCRIPT=${{ matrix.cfg.runner }} -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.meta.exe unit.arch.exe unit.core.bit_cast.exe unit.api.regular.wide.exe unit.core.simd_cast.exe unit.core.count_true.exe unit.memory.store.exe unit.memory.store_equivalent.exe -j 4 | |
| - name: Compiling Big Unit Tests | |
| run: cd build && ninja unit.api.compress.exe -j 2 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 4 --timeout 3600 -R "^unit.meta.*.exe|^unit.arch.*.exe|unit.core.bit_cast.exe|unit.api.regular.wide.exe|unit.core.simd_cast.exe|^unit.api.compress.*|unit.core.count_true.exe|unit.memory.store.*" | |
| ################################################################################################## | |
| ## ARMv7 | |
| ################################################################################################## | |
| armv7: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang, arch: arm, opts: -Wno-psabi } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: "Chunk 1: Compile" | |
| run: | | |
| cd build | |
| ninja unit.core.exe -j 4 | |
| - name: "Chunk 1: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.core\." | |
| - name: "Chunk 1: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 2: Compile" | |
| run: | | |
| cd build | |
| ninja unit.api.exe unit.math.exe -j 4 | |
| - name: "Chunk 2: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.api\.|^unit\.math\." | |
| - name: "Chunk 2: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 3: Compile" | |
| run: | | |
| cd build | |
| ninja unit.arch.exe unit.meta.exe unit.internals.exe unit.polynomial.exe unit.combinatorial.exe unit.bessel.exe unit.elliptic.exe unit.memory.exe unit.special.exe unit.algo.exe examples.exe -j 4 | |
| - name: "Chunk 3: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.arch\.|^unit\.meta\.|^unit\.internals\.|^unit\.polynomial\.|^unit\.combinatorial\.|^unit\.bessel\.|^unit\.elliptic\.|^unit\.memory\.|^unit\.special\.|^unit\.algo\.|^examples\." | |
| ################################################################################################## | |
| ## Full emulation tests | |
| ################################################################################################## | |
| nosimd: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang , arch: x86 , opts: -DEVE_NO_SIMD } | |
| - { comp: gcc , arch: x86 , opts: -DEVE_NO_SIMD } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| echo "CPU cores: $(nproc)" | |
| echo "Memory: $(free -h | grep '^Mem:' | awk '{print $2}')" | |
| echo "Available disk space: $(df -h / | tail -1 | awk '{print $4 "/" $2}')" | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: "Chunk 1: Compile" | |
| run: | | |
| cd build | |
| ninja unit.core.exe -j 4 | |
| - name: "Chunk 1: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.core\." | |
| - name: "Chunk 1: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 2: Compile" | |
| run: | | |
| cd build | |
| ninja unit.api.exe unit.math.exe -j 4 | |
| - name: "Chunk 2: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.api\.|^unit\.math\." | |
| - name: "Chunk 2: Cleanup" | |
| run: | | |
| cd build | |
| ninja clean | |
| - name: "Chunk 3: Compile" | |
| run: | | |
| cd build | |
| ninja unit.arch.exe unit.meta.exe unit.internals.exe unit.polynomial.exe unit.combinatorial.exe unit.bessel.exe unit.elliptic.exe unit.memory.exe unit.special.exe unit.algo.exe examples.exe -j 4 | |
| - name: "Chunk 3: Run" | |
| run: | | |
| cd build | |
| ctest --output-on-failure -j 4 --timeout 3600 -R "^unit\.arch\.|^unit\.meta\.|^unit\.internals\.|^unit\.polynomial\.|^unit\.combinatorial\.|^unit\.bessel\.|^unit\.elliptic\.|^unit\.memory\.|^unit\.special\.|^unit\.algo\.|^examples\." | |
| ################################################################################################## | |
| ## Mac OS X Targets | |
| ################################################################################################## | |
| macosx: | |
| runs-on: [macos-15] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: 'clang', opts: "-Wno-psabi -march=armv8.7-a+fp16" } | |
| steps: | |
| - name: Print Runner Info | |
| run: | | |
| system_profiler SPHardwareDataType | grep -E "(Memory|Cores)" | |
| df -h /System/Volumes/Data | |
| - name: Fetch current branch | |
| uses: actions/checkout@v4 | |
| - name: Running CMake for ${{ matrix.cfg.comp }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain/${{ matrix.cfg.comp }}.osx.cmake" | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 2 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 2 --timeout 3600 -E ^doc.*.exe | |
| ################################################################################################## | |
| ## Windows Targets - Deactivated for now | |
| ################################################################################################## | |
| # msvc: | |
| # runs-on: [windows-2022] | |
| # strategy: | |
| # fail-fast: false | |
| # matrix: | |
| # cfg: | |
| # - { mode: Debug, options: "-DEVE_NO_FORCEINLINE"} | |
| # steps: | |
| # - name: Fetch current branch | |
| # uses: actions/[email protected] | |
| # - name: Running CMake for MSVC ${{ matrix.cfg.mode }} ${{ matrix.cfg.options }} | |
| # run: | | |
| # mkdir build && cd build | |
| # cmake -G "Visual Studio 17 2022" -A x64 .. -DCMAKE_CXX_FLAGS="${{ matrix.cfg.options }}" | |
| # - name: Compiling Unit Tests | |
| # run: | | |
| # cd build | |
| # cmake --build . --target unit.arch.exe --config ${{ matrix.cfg.mode }} --parallel 2 | |
| # cmake --build . --target unit.meta.exe --config ${{ matrix.cfg.mode }} --parallel 2 | |
| # cmake --build . --target unit.internals.exe --config ${{ matrix.cfg.mode }} --parallel 2 | |
| # - name: Running Tests | |
| # run: | | |
| # cd build | |
| # ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.arch.*.exe | |
| # ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.meta.*.exe | |
| # ctest -C ${{ matrix.cfg.mode }} --output-on-failure -R ^unit.internals.*.exe | |
| ################################################################################################## | |
| ## Host 1 - Pre-Skylake SIMD ISA - clang | |
| ################################################################################################## | |
| x86-clang: | |
| runs-on: [self-hosted, generic-x86] | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang , arch: x86, opts: -msse4.2 } | |
| - { comp: clang , arch: x86, opts: -mavx -mf16c } | |
| - { comp: clang , arch: x86, opts: -mavx2 } | |
| steps: | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 10 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 10 --timeout 3600 -E ^doc.*.exe | |
| ################################################################################################## | |
| ## Host 1 - PPC & ARM SVE256/512 Tests | |
| ################################################################################################## | |
| other-arch: | |
| needs: x86-clang | |
| runs-on: [self-hosted, generic-x86] | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: gcc, arch: sve , opts: -Wno-psabi} | |
| - { comp: gcc, arch: sve2 , opts: -Wno-psabi} | |
| - { comp: gcc, arch: ppc64 , opts: -Wno-psabi} | |
| steps: | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Prepare EVE with ${{ matrix.cfg.comp }} @ ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" \ | |
| -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 10 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 10 --timeout 3600 -E ^doc.*.exe | |
| ################################################################################################## | |
| ## Host 1 - Pre-Skylake SIMD ISA - g++ | |
| ################################################################################################## | |
| x86-gcc: | |
| needs: other-arch | |
| runs-on: [self-hosted, generic-x86] | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: gcc , arch: x86, opts: -msse4.2 } | |
| - { comp: gcc , arch: x86, opts: -mavx } | |
| - { comp: gcc , arch: x86, opts: -mavx2 -mf16c } | |
| steps: | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 10 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 10 --timeout 3600 -E ^doc.*.exe | |
| ################################################################################################## | |
| ## Host 2 - Post-Skylake SIMD ISA | |
| ################################################################################################## | |
| avx512: | |
| runs-on: [self-hosted, avx512] | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang , arch: x86 , opts: -march=skylake-avx512 } | |
| - { comp: gcc , arch: x86 , opts: -march=skylake-avx512 } | |
| steps: | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 5 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 4 --timeout 3600 -E ^doc.*.exe | |
| ################################################################################################## | |
| ## Host 2 - Pre-Skylake SIMD ISA - Special cases | |
| ################################################################################################## | |
| other-cases: | |
| needs: avx512 | |
| runs-on: [self-hosted, avx512] | |
| container: | |
| image: ghcr.io/jfalcou/compilers:v10 | |
| options: -u root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| cfg: | |
| - { comp: clang , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" } | |
| - { comp: gcc , arch: x86 , opts: "-mavx2 -mbmi2 -DEVE_USE_BMI_ON_AVX2" } | |
| steps: | |
| - name: Fetch current branch | |
| uses: actions/[email protected] | |
| - name: Running CMake for ${{ matrix.cfg.comp }} on ${{ matrix.cfg.arch }} with ${{ matrix.cfg.opts }} | |
| run: | | |
| mkdir build && cd build | |
| cmake .. -G Ninja -DEVE_OPTIONS="${{ matrix.cfg.opts }}" -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/${{ matrix.cfg.comp }}.${{ matrix.cfg.arch }}.cmake | |
| - name: Compiling Unit Tests | |
| run: cd build && ninja unit.exe -j 5 | |
| - name: Running Unit Tests | |
| run: cd build && ctest --output-on-failure -j 4 --timeout 3600 -E ^doc.*.exe |