Skip to content

[CI][sycl-rel] Upd workflow #19293

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jul 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 10 additions & 34 deletions .github/workflows/sycl-rel-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ jobs:
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
target_devices: hip:gpu

- name: NVIDIA/CUDA
runner: '["Linux", "cuda"]'
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
target_devices: cuda:gpu

- name: Intel L0 Gen12 GPU
runner: '["Linux", "gen12"]'
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
Expand All @@ -43,6 +48,11 @@ jobs:
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
target_devices: level_zero:gpu

- name: Intel L0 Arc A-Series GPU
runner: '["Linux", "arc"]'
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
target_devices: level_zero:gpu

- name: Intel OCL Gen12 GPU
runner: '["Linux", "gen12"]'
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
Expand Down Expand Up @@ -102,40 +112,6 @@ jobs:
extra_lit_opts: ${{ matrix.extra_lit_opts }}
repo_ref: ${{ github.sha }}

cuda-aws-start:
needs: [ubuntu2204_build]
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-aws.yml
secrets: inherit
with:
mode: start
ref: ${{ github.sha }}

cuda-run-tests:
needs: [ubuntu2204_build, cuda-aws-start]
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: CUDA E2E
runner: '["aws_cuda-${{ github.run_id }}-${{ github.run_attempt }}"]'
image: ghcr.io/intel/llvm/ubuntu2204_build:latest-133fee559371ce0e6ff867e378c21cde2bdf6c90
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN --env NVIDIA_DISABLE_REQUIRE=1
target_devices: cuda:gpu
repo_ref: ${{ github.sha }}

sycl_toolchain_artifact: sycl_linux_default
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}

cuda-aws-stop:
needs: [cuda-aws-start, cuda-run-tests]
if: always() && ${{ needs.cuda-aws-start.result != 'skipped' }}
uses: ./.github/workflows/sycl-aws.yml
secrets: inherit
with:
mode: stop
ref: ${{ github.sha }}

build-sycl-cts:
needs: ubuntu2204_build
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
Expand Down
60 changes: 37 additions & 23 deletions sycl/test-e2e/ESIMD/group_barrier.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,54 @@
#include "esimd_test_utils.hpp"
#include <sycl/ext/oneapi/experimental/root_group.hpp>
#include <sycl/group_barrier.hpp>
#include <sycl/kernel_bundle.hpp>

static constexpr int WorkGroupSize = 16;
namespace syclex = sycl::ext::oneapi::experimental;

static constexpr int WorkGroupSize = 32;

static constexpr int VL = 16;

template <int Val> class MyKernel;

template <bool UseThisWorkItemAPI> bool test(sycl::queue &q) {
bool Pass = true;
const auto MaxWGs = 8;
size_t WorkItemCount = MaxWGs * WorkGroupSize * VL;
std::cout << "Test case UseThisWorkItemAPI="
<< std::to_string(UseThisWorkItemAPI) << std::endl;
const auto Props = sycl::ext::oneapi::experimental::properties{
sycl::ext::oneapi::experimental::use_root_sync};
sycl::buffer<int> DataBuf{sycl::range{WorkItemCount}};
const auto Range = sycl::nd_range<1>{MaxWGs * WorkGroupSize, WorkGroupSize};
auto Bundle =
sycl::get_kernel_bundle<sycl::bundle_state::executable>(q.get_context());
auto Kernel = Bundle.template get_kernel<MyKernel<UseThisWorkItemAPI>>();
sycl::range<3> LocalRange{WorkGroupSize, 1, 1};
auto MaxWGs = Kernel.template ext_oneapi_get_info<
syclex::info::kernel_queue_specific::max_num_work_groups>(q, LocalRange,
0);
auto GlobalRange = LocalRange;
size_t WorkItemCount = GlobalRange.size() * VL;
sycl::buffer<int> DataBuf{WorkItemCount};
const auto Range = sycl::nd_range<3>{GlobalRange, LocalRange};
q.submit([&](sycl::handler &h) {
sycl::accessor Data{DataBuf, h};
h.parallel_for(Range, Props, [=](sycl::nd_item<1> it) SYCL_ESIMD_KERNEL {
int ID = it.get_global_linear_id();
__ESIMD_NS::simd<int, VL> V(ID, 1);
// Write data to another kernel's data to verify the barrier works.
__ESIMD_NS::block_store(
Data, (WorkItemCount * sizeof(int)) - (ID * sizeof(int) * VL), V);
if constexpr (UseThisWorkItemAPI) {
auto Root =
sycl::ext::oneapi::experimental::this_work_item::get_root_group<
1>();
sycl::group_barrier(Root);
} else {
auto Root = it.ext_oneapi_get_root_group();
sycl::group_barrier(Root);
}
__ESIMD_NS::simd<int, VL> VOther(ID * VL, 1);
__ESIMD_NS::block_store(Data, ID * sizeof(int) * VL, VOther);
});
h.parallel_for<MyKernel<UseThisWorkItemAPI>>(
Range, Props, [=](sycl::nd_item<3> it) SYCL_ESIMD_KERNEL {
int ID = it.get_global_linear_id();
__ESIMD_NS::simd<int, VL> V(ID, 1);
// Write data to another kernel's data to verify the barrier works.
__ESIMD_NS::block_store(
Data, (WorkItemCount * sizeof(int)) - (ID * sizeof(int) * VL),
V);
if constexpr (UseThisWorkItemAPI) {
auto Root = sycl::ext::oneapi::experimental::this_work_item::
get_root_group<1>();
sycl::group_barrier(Root);
} else {
auto Root = it.ext_oneapi_get_root_group();
sycl::group_barrier(Root);
}
__ESIMD_NS::simd<int, VL> VOther(ID * VL, 1);
__ESIMD_NS::block_store(Data, ID * sizeof(int) * VL, VOther);
});
}).wait();
sycl::host_accessor Data{DataBuf};
int ErrCnt = 0;
Expand Down
2 changes: 0 additions & 2 deletions sycl/test-e2e/Graph/Explicit/buffer_ordering.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// XFAIL: run-mode && gpu-intel-dg2
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/18579
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
// Extra run to check for leaks in Level Zero using UR_L0_LEAKS_DEBUG
Expand Down
2 changes: 0 additions & 2 deletions sycl/test-e2e/Graph/RecordReplay/buffer_ordering.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// XFAIL: run-mode && gpu-intel-dg2
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/18579
// RUN: %{build} -o %t.out
// RUN: %{run} %t.out
// Extra run to check for leaks in Level Zero using UR_L0_LEAKS_DEBUG
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// UNSUPPORTED: target-nvidia, target-amd
// UNSUPPORTED-INTENDED: aspect-ext_intel_matrix isn't currently supported for
// other triples
// XFAIL: run-mode && gpu-intel-dg2
// XFAIL: run-mode && igc-dev
Copy link
Contributor

@dkhaldi dkhaldi Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to keep gpu-intel-dg2 here. Otherwise, test will xfail on other gpus as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it unexpectedly passes on DG2, see - https://github.com/intel/llvm/actions/runs/16052924994

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it passes on DG2, should not we remove XFAIL all together?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean should we remove the whole XFAIL string?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, remove // XFAIL: run-mode && gpu-intel-dg2

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just aligned this string with the sycl branch: https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/Matrix/joint_matrix_bf16_fill_k_cache_SLM.cpp
So now this file looks same.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case, you need to update the description for this test. If you are aligning with the sycl branch, keep XFAIL for this test.
However, for the other two tests, I see the xfail is only set for DG2 in the sycl branch. If you see they are xpassing now, it makes sense to remove the whole XFAIL string for the two remaining matrix tests.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I aligned all 3 tests with the sycl branch:

// Waiting for the commit in IGC to be pulled into the driver to resolve the
// test.
// XFAIL: run-mode && igc-dev
// XFAIL-TRACKER: GSD-10510

Could you please clarify, why can't we just keep it this way?

// XFAIL-TRACKER: CMPLRLLVM-66371

// REQUIRES: aspect-ext_intel_matrix, gpu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

// Waiting for the commit in IGC to be pulled into the driver to resolve the
// test.
// XFAIL: gpu-intel-dg2 && run-mode
// XFAIL: run-mode && igc-dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// XFAIL: run-mode && igc-dev
// XFAIL: gpu-intel-dg2 && run-mode && igc-dev

// XFAIL-TRACKER: GSD-10510

#include "common.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

// Waiting for the commit in IGC to be pulled into the driver to resolve the
// test.
// XFAIL: gpu-intel-dg2 && run-mode
// XFAIL: run-mode && igc-dev
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// XFAIL: run-mode && igc-dev
// XFAIL: gpu-intel-dg2 && run-mode && igc-dev

// XFAIL-TRACKER: GSD-10510

#include "common.hpp"
Expand Down
Loading