Skip to content

Support building with the open-source Intel SYCL Compiler#194

Closed
sarnex wants to merge 1 commit intouxlfoundation:masterfrom
sarnex:dpcpp
Closed

Support building with the open-source Intel SYCL Compiler#194
sarnex wants to merge 1 commit intouxlfoundation:masterfrom
sarnex:dpcpp

Conversation

@sarnex
Copy link
Copy Markdown

@sarnex sarnex commented Feb 20, 2026

Right now, oneCCL requires the closed-source Intel SYCL Compiler (Intel® oneAPI DPC++/C++ Compiler) for SYCL support, however we also productize the open-source version of the compiler and it is pretty much feature-equivalent for SYCL, so support using that as well.

The motivation for this change is Canonical is working to package Intel tools for Ubuntu and they do not want to use the closed source products, so their compiler package will be based on the open source SYCL compiler. They want to package oneCCL as well, so this change is required so they can build oneCCL.

I tested this with the currently in-development version of the open source compiler as well as the latest release (6.3.0).

Closes: #191

Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
@sarnex
Copy link
Copy Markdown
Author

sarnex commented Mar 2, 2026

Ping @srirajpaul @nikitaxgusev , thanks!

@Maria1Petrova Maria1Petrova requested review from jbrosenz and removed request for nikitaxgusev March 6, 2026 17:35
@blazej-smorawski blazej-smorawski self-requested a review March 16, 2026 10:28
Copy link
Copy Markdown
Contributor

@maciekpac maciekpac left a comment

Choose a reason for hiding this comment

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

Hi @sarnex ,

I ran some testing of this patch and:

  1. It does not compile with our most recent innersource repository because of the additional flags that were added.
  2. oneCCL does not correctly execute when compiled with intel clang, fallback to non-sycl algorithms occurs unexpectedly.

I'm actually working with a fork of intel llvm right now, so I still need to find out where the issues come from - from the configuration and build or from the compiler version that I'm using (and that I had to compile from source).

Given our internal release process and the encountered issues, I would wait for the release to be over. I think I also need to find out why the build does not work as expected.

I would suggest we port & debug these changes in innersource and then we opensource it - @jbrosenz what do you think of this approach ? I already created an internal draft PR for reference and added you as a reviewer there.

Comment thread CMakeLists.txt
if("${CMAKE_C_COMPILER_VERSION}" VERSION_LESS "21.0.0")
set(EXTRA_WARN_FLAGS "-Wshadow")
else()
set(EXTRA_WARN_FLAGS "-Wno-unused-variable -Wno-unused-but-set-variable -Wno-sign-compare -Wno-logical-op-parentheses \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why are these additional flags added here ?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Because we see these warnings thrown when using the compiler, and -Werror is set by this project, so we need to disable the warnings.

@sarnex
Copy link
Copy Markdown
Author

sarnex commented Mar 26, 2026

This is made a lot more difficult because there is no way to detect the open source compiler as compared to the closed source one.

@frenchwr Do you need this working soon, or can we wait until we get some additional changes in the open source compiler.

@frenchwr
Copy link
Copy Markdown

@frenchwr Do you need this working soon, or can we wait until we get some additional changes in the open source compiler.

At this point it's too late to get oneCCL into Ubuntu 26.04 but it would be great to get it into 26.10.

@sarnex
Copy link
Copy Markdown
Author

sarnex commented Mar 26, 2026

Is there a general timeline when we would need this done by so it can make it into 26.10?

@frenchwr
Copy link
Copy Markdown

Looks like feature freeze starts on Aug 20 (link), so ideally the open source compiler support would land and be released by July so we have time to complete the packaging and testing.

@sarnex
Copy link
Copy Markdown
Author

sarnex commented Mar 26, 2026

Ok thanks, I'll make a tracker for myself to revisit this.

We can close this for now, thanks.

@sarnex sarnex closed this Mar 26, 2026
@frenchwr
Copy link
Copy Markdown

Another concern I have about packaging oneCCL is the vendored dependencies. I opened an issue to discuss: #198

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.

Support for open source DPC++ compiler

4 participants