diff --git a/.github/workflows/build-hw-reusable.yml b/.github/workflows/build-hw-reusable.yml index fa23c38248..2e767a83df 100644 --- a/.github/workflows/build-hw-reusable.yml +++ b/.github/workflows/build-hw-reusable.yml @@ -44,6 +44,7 @@ jobs: ] build_type: [Debug, Release] compiler: [{c: gcc, cxx: g++}, {c: clang, cxx: clang++}] + multiple: [Multiple, Single] # TODO: The latest L0 loader segfaults when built with clang. exclude: - adapter: {name: L0, platform: ""} @@ -57,6 +58,11 @@ jobs: build_type: Release - adapter: {static_adapter: ON} compiler: {c: clang, cxx: clang++} + # With the "Multiple" jobs, don't bother with every combination + - multiple: Multiple + build_type: Release + - multiple: Multiple + compiler: {c: clang, cxx: clang++} runs-on: ${{inputs.runner_name}} @@ -89,6 +95,7 @@ jobs: -DUR_SYCL_LIBRARY_DIR=${{github.workspace}}/dpcpp_compiler/lib ${{ matrix.adapter.name == 'HIP' && '-DUR_CONFORMANCE_AMD_ARCH=gfx1030' || '' }} ${{ matrix.adapter.name == 'HIP' && '-DUR_HIP_PLATFORM=AMD' || '' }} + ${{ matrix.multiple == 'Multiple' && '-DUR_BUILD_ADAPTER_OPENCL=ON -DUR_BUILD_ADAPTER_L0=ON' || '' }} - name: Build # This is so that device binaries can find the sycl runtime library @@ -97,6 +104,8 @@ jobs: - name: Test adapter specific working-directory: ${{github.workspace}}/build run: ctest -C ${{matrix.build_type}} --output-on-failure -L "adapter-specific" --timeout 180 + # Don't run adapter specific tests when building multiple adapters + if: ${{ matrix.multiple == 'Single' }} - name: Test adapters working-directory: ${{github.workspace}}/build diff --git a/source/loader/ur_ldrddi.cpp b/source/loader/ur_ldrddi.cpp index 26f55c071f..6f5b8f106d 100644 --- a/source/loader/ur_ldrddi.cpp +++ b/source/loader/ur_ldrddi.cpp @@ -504,6 +504,9 @@ __urdlllocal ur_result_t UR_APICALL urDeviceGetInfo( ) { ur_result_t result = UR_RESULT_SUCCESS; + // For testing - this should explode and fail tests + abort(); + [[maybe_unused]] auto context = getContext(); // extract platform's function pointer table