diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6dc070407..d3526a9ca 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -16,13 +16,12 @@ env: jobs: fuzz-test: - name: Fuzz test strategy: fail-fast: false matrix: build_type: [Debug, Release] compiler: [{c: clang, cxx: clang++}] - + name: Fuzz test (ubuntu-latest, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}) runs-on: ubuntu-latest steps: @@ -70,11 +69,11 @@ jobs: run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long" valgrind: - name: Valgrind strategy: fail-fast: false matrix: tool: ['memcheck', 'drd', 'helgrind'] + name: Valgrind (${{matrix.tool}}) runs-on: ubuntu-latest steps: @@ -108,7 +107,6 @@ jobs: run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}} Windows-generators: - name: Windows ${{matrix.generator}} generator strategy: matrix: build_type: [Debug, Release] @@ -117,6 +115,7 @@ jobs: static_hwloc: ['ON', 'OFF'] generator: ['Ninja', 'NMake Makefiles'] umfd_lib: ['ON', 'OFF'] + name: Windows (generator=${{matrix.generator}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, build_type=${{matrix.build_type}}, shared_library=${{matrix.shared_library}}, static_hwloc=${{matrix.static_hwloc}}, umfd_lib=${{matrix.umfd_lib}}) runs-on: windows-latest @@ -201,7 +200,6 @@ jobs: ${{ matrix.static_hwloc == 'ON' && '--hwloc' || '' }} icx: - name: ICX env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: @@ -215,7 +213,7 @@ jobs: build_type: Release compiler: {c: icx, cxx: icx} shared_library: 'ON' - + name: ICX (${{matrix.os}}, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, shared_library=${{matrix.shared_library}}) runs-on: ${{matrix.os}} steps: @@ -288,7 +286,7 @@ jobs: # Scenarios where UMF_LINK_HWLOC_STATICALLY is set to OFF and hwloc is not installed in the system # The hwloc library is fetched implicitly hwloc-fallback: - name: "Fallback to static hwloc build" + strategy: matrix: include: @@ -298,7 +296,7 @@ jobs: - os: 'windows-latest' build_type: Release number_of_processors: '$Env:NUMBER_OF_PROCESSORS' - + name: "Fallback to static hwloc build (${{matrix.os}}), build_type=${{matrix.build_type}})" runs-on: ${{matrix.os}} steps: diff --git a/.github/workflows/reusable_basic.yml b/.github/workflows/reusable_basic.yml index 3e6abc749..f14b93127 100644 --- a/.github/workflows/reusable_basic.yml +++ b/.github/workflows/reusable_basic.yml @@ -14,7 +14,6 @@ env: jobs: ubuntu-build: - name: Ubuntu strategy: matrix: os: ['ubuntu-22.04', 'ubuntu-24.04'] @@ -124,6 +123,7 @@ jobs: disable_hwloc: 'OFF' link_hwloc_statically: 'ON' cmake_ver: 'default' + name: Basic (${{matrix.os}}, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, shared_library=${{matrix.shared_library}}, level_zero_provider=${{matrix.level_zero_provider}}, cuda_provider=${{matrix.cuda_provider}}, install_tbb=${{matrix.install_tbb}}, disable_hwloc=${{matrix.disable_hwloc}}, link_hwloc_statically=${{matrix.link_hwloc_statically}}, cmake_ver=${{matrix.cmake_ver}}) runs-on: ${{matrix.os}} steps: @@ -236,7 +236,6 @@ jobs: ${{ matrix.shared_library == 'ON' && '--shared-library' || '' }} windows-build: - name: Windows env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" VCPKG_PATH_BIN: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows/bin;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows/bin;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows/bin" @@ -274,7 +273,7 @@ jobs: level_zero_provider: 'OFF' cuda_provider: 'OFF' cmake_ver: 'default' - + name: Basic (${{matrix.os}}, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, shared_library=${{matrix.shared_library}}, level_zero_provider=${{matrix.level_zero_provider}}, cuda_provider=${{matrix.cuda_provider}}, cmake_ver=${{matrix.cmake_ver}}) runs-on: ${{matrix.os}} steps: @@ -513,15 +512,15 @@ jobs: run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test macos-build: - name: MacOS strategy: matrix: os: ['macos-13', 'macos-14'] include: - os: macos-14 - static_hwloc: '-DUMF_LINK_HWLOC_STATICALLY=ON' + static_hwloc: 'ON' env: BUILD_TYPE : "Release" + name: Basic (${{matrix.os}}, static_hwloc=${{matrix.static_hwloc}}) runs-on: ${{matrix.os}} steps: @@ -562,6 +561,7 @@ jobs: -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON -DUMF_BUILD_SHARED_LIBRARY=ON -DUMF_TESTS_FAIL_ON_SKIP=ON + -DUMF_LINK_HWLOC_STATICALLY=${{matrix.static_hwloc}} ${{matrix.static_hwloc}} - name: Build UMF diff --git a/.github/workflows/reusable_dax.yml b/.github/workflows/reusable_dax.yml index fb4355899..3d059a07c 100644 --- a/.github/workflows/reusable_dax.yml +++ b/.github/workflows/reusable_dax.yml @@ -35,15 +35,15 @@ env: jobs: dax: - name: Build # run only on upstream; forks may not have a DAX device if: github.repository == 'oneapi-src/unified-memory-framework' strategy: matrix: build_type: [Debug, Release] shared_library: ['ON', 'OFF'] - + name: DAX (ubuntu, build_type=${{matrix.build_type}}, shared_library=${{matrix.shared_library}}) runs-on: ["DSS-DEVDAX", "DSS-Ubuntu"] + steps: - name: Check configuration of the DEVDAX run: | diff --git a/.github/workflows/reusable_fast.yml b/.github/workflows/reusable_fast.yml index 690cba072..5c81df750 100644 --- a/.github/workflows/reusable_fast.yml +++ b/.github/workflows/reusable_fast.yml @@ -12,7 +12,6 @@ env: jobs: FastBuild: - name: Fast builds env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: @@ -48,6 +47,7 @@ jobs: build_tests: 'ON' extra_build_options: '-DCMAKE_BUILD_TYPE=Release' simple_cmake: 'ON' + name: Fast builds (${{matrix.os}}, build_tests=${{matrix.build_tests}}, simple_cmake=${{matrix.simple_cmake}}, extra_build_options=${{matrix.extra_build_options}}) runs-on: ${{ (matrix.os == 'ubuntu-latest' && github.repository_owner == 'oneapi-src') && 'intel-ubuntu-22.04' || matrix.os }} steps: diff --git a/.github/workflows/reusable_gpu.yml b/.github/workflows/reusable_gpu.yml index 4fbb5a53a..1f342733e 100644 --- a/.github/workflows/reusable_gpu.yml +++ b/.github/workflows/reusable_gpu.yml @@ -36,7 +36,6 @@ env: jobs: gpu: - name: "${{matrix.os}}, ${{matrix.build_type}}, shared=${{matrix.shared_library}}" env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows;" COVERAGE_NAME : "exports-coverage-${{inputs.provider}}-${{inputs.runner}}" @@ -48,8 +47,9 @@ jobs: shared_library: ${{ fromJSON(inputs.shared_lib)}} os: ${{ fromJSON(inputs.os)}} build_type: ${{ fromJSON(inputs.build_type)}} - + name: GPU (${{matrix.os}}, build_type=${{matrix.build_type}}, shared=${{matrix.shared_library}}) runs-on: ["DSS-${{inputs.runner}}", "DSS-${{matrix.os}}"] + steps: # Set various build params based on OS - name: "[Win] Establish build params" diff --git a/.github/workflows/reusable_multi_numa.yml b/.github/workflows/reusable_multi_numa.yml index 67c8b44a8..d309269b1 100644 --- a/.github/workflows/reusable_multi_numa.yml +++ b/.github/workflows/reusable_multi_numa.yml @@ -14,15 +14,14 @@ env: jobs: multi_numa: - name: "${{matrix.os}}, ${{matrix.build_type}}, shared=${{matrix.shared_library}}" # run only on upstream; forks will not have the HW if: github.repository == 'oneapi-src/unified-memory-framework' - strategy: matrix: os: [ubuntu-22.04, rhel-9.1, sles-15] build_type: [Debug, Release] shared_library: ['ON', 'OFF'] + name: Multi NUMA (${{matrix.os}}, build_type=${{matrix.build_type}}, shared=${{matrix.shared_library}}) runs-on: ["DSS-MULTI-NUMA", "DSS-${{matrix.os}}"] steps: diff --git a/.github/workflows/reusable_proxy_lib.yml b/.github/workflows/reusable_proxy_lib.yml index f43577f51..4eb191fef 100644 --- a/.github/workflows/reusable_proxy_lib.yml +++ b/.github/workflows/reusable_proxy_lib.yml @@ -14,13 +14,12 @@ env: jobs: proxy-ubuntu: - name: Ubuntu - strategy: matrix: build_type: [Release, Debug] compiler: [{c: gcc, cxx: g++}] proxy_lib_pool: ['SCALABLE', 'JEMALLOC'] + name: Proxy Library (ubuntu-22.04, build_type=${{matrix.build_type}}, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, proxy_lib_pool=${{matrix.proxy_lib_pool}}) runs-on: ${{ github.repository_owner == 'oneapi-src' && 'intel-ubuntu-22.04' || 'ubuntu-22.04' }} steps: diff --git a/.github/workflows/reusable_qemu.yml b/.github/workflows/reusable_qemu.yml index 15f6a7d13..26514586c 100644 --- a/.github/workflows/reusable_qemu.yml +++ b/.github/workflows/reusable_qemu.yml @@ -18,10 +18,10 @@ permissions: jobs: qemu-build: - name: QEMU strategy: matrix: os: ${{ fromJson(inputs.os) }} + name: QEMU (${{ matrix.os }}) # Host QEMU on any Linux platform runs-on: ubuntu-22.04 diff --git a/.github/workflows/reusable_sanitizers.yml b/.github/workflows/reusable_sanitizers.yml index f9dc0e5a8..becab2cc4 100644 --- a/.github/workflows/reusable_sanitizers.yml +++ b/.github/workflows/reusable_sanitizers.yml @@ -12,12 +12,12 @@ permissions: jobs: ubuntu-build: - name: Ubuntu strategy: matrix: compiler: [{c: gcc, cxx: g++}, {c: clang, cxx: clang++}, {c: icx, cxx: icpx}] # TSAN is mutually exclusive with other sanitizers sanitizers: [{asan: ON, ubsan: ON, tsan: OFF}, {asan: OFF, ubsan: OFF, tsan: ON}] + name: Sanitizers (ubuntu-22.04, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, asan=${{matrix.sanitizers.asan}}, ubsan=${{matrix.sanitizers.ubsan}}, tsan=${{matrix.sanitizers.tsan}}) runs-on: ubuntu-22.04 steps: @@ -75,7 +75,6 @@ jobs: ctest --output-on-failure windows-build: - name: cl and clang-cl on Windows env: VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows" strategy: @@ -83,6 +82,7 @@ jobs: compiler: [{c: cl, cxx: cl}, {c: clang-cl, cxx: clang-cl}] # Only ASAN is supported sanitizers: [{asan: ON}] + name: Sanitizers (windows-2022, compilers=${{matrix.compiler.c}}/${{matrix.compiler.cxx}}, asan=${{matrix.sanitizers.asan}}) runs-on: windows-2022 steps: