Skip to content

Conversation

@ndgrigorian
Copy link
Collaborator

This PR adds support for creating an executable kernel_bundle from SYCL source code to dpctl using the kernel_compiler DPC++ extension

Supersedes gh-2049

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • Have you added documentation for your changes, if necessary?
  • Have you added your changes to the changelog?
  • If this PR is a work in progress, are you opening the PR as a draft?

Enable SYCL source compilation, but only for DPC++ versions that actually
support the compilation, based on the __SYCL_COMPILER_VERSION reported.

Uses the correct naming for the property based on DPC++ version,
detected through C++ type traits to check which property actually refers
to a fully defined type.

This commit also works around a bug in DPC++ version 2025.1. The constructor
with no parameter of class `include_files` was only declared, but never
defined. Calling it when creating a SYCL source kernel bundle therefore
leads to references to undefined symbols with DPC++ version 2025.1. This
change works around this issue by calling an alternative constructor,
which is defined in the release.

Signed-off-by: Lukas Sommer <lukas.sommer@codeplay.com>
As the library aren't included in .bc format in version 2025.2 and
earlier, we need to skip the test if no oneAPI Base Toolkit is
installed.

Signed-off-by: Lukas Sommer <lukas.sommer@codeplay.com>
@github-actions
Copy link

@github-actions
Copy link

Array API standard conformance tests for dpctl=0.22.0dev0=py310h93fe807_65 ran successfully.
Passed: 1111
Failed: 47
Skipped: 82

@coveralls
Copy link
Collaborator

Coverage Status

coverage: 86.247% (-0.02%) from 86.269%
when pulling 27ee8b3 on feature/sycl-source-compilation
into 3b0bfd6 on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants