Support building with the open-source Intel SYCL Compiler#194
Support building with the open-source Intel SYCL Compiler#194sarnex wants to merge 1 commit intouxlfoundation:masterfrom
Conversation
Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
|
Ping @srirajpaul @nikitaxgusev , thanks! |
maciekpac
left a comment
There was a problem hiding this comment.
Hi @sarnex ,
I ran some testing of this patch and:
- It does not compile with our most recent innersource repository because of the additional flags that were added.
- 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.
| 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 \ |
There was a problem hiding this comment.
Why are these additional flags added here ?
There was a problem hiding this comment.
Because we see these warnings thrown when using the compiler, and -Werror is set by this project, so we need to disable the warnings.
|
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. |
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. |
|
Is there a general timeline when we would need this done by so it can make it into 26.10? |
|
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. |
|
Ok thanks, I'll make a tracker for myself to revisit this. We can close this for now, thanks. |
|
Another concern I have about packaging oneCCL is the vendored dependencies. I opened an issue to discuss: #198 |
Right now,
oneCCLrequires 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
oneCCLas well, so this change is required so they can buildoneCCL.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