-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Move general language extensions to the ONEAPI namespace #2231
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
Conversation
Signed-off-by: James Brodman <james.brodman@intel.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be okay with changes to documentation being addressed in a separate PR, but I'm curious to hear what others think.
Another concern I have is that this will appear as a breaking change between one compiler release and the next, with no warning. Would it be worth adding something temporary defining the intel
namespace as containing everything from the ONEAPI
namespace?
@@ -242,7 +242,7 @@ struct get_kernel_name_t<auto_name, Type> { | |||
using name = Type; | |||
}; | |||
|
|||
namespace experimental { | |||
namespace ONEAPI { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
intel::experimental::spec_constant
doesn't have an extension defined, and I think we might confuse developers if we start mixing extensions and non-extensions in the same namespace. As is, using sycl::ONEAPI
will import experimental functionality unexpectedly.
Is there a reason not to keep this as ONEAPI::experimental
after the rename? Otherwise I think somebody should define extensions for these things.
Same comment applies to intel::experimental::printf
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I'd prefer to make it ONEAPI::experimental over intel::experimental.
@@ -1,4 +1,4 @@ | |||
//==---------------- atomic.hpp - SYCL_INTEL_extended_atomics --------------==// | |||
//==--------------- atomic.hpp - SYCL_ONEAPI_extended_atomics --------------==// |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're changing the name of the extensions as well as the namespace they're in, I think we should really update the extension documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok sure - but can that be a different PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine by me, but I wanted to flag it somewhere.
|
||
#ifndef __DISABLE_SYCL_INTEL_GROUP_ALGORITHMS__ | ||
#ifndef __DISABLE_SYCL_ONEAPI_GROUP_ALGORITHMS__ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as before RE naming. This macro is now undocumented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jbrodman you need to update DEV_ABI version in CMakeLists.txt
BTW, any particular reason why it's spelled ONEAPI
and not oneapi
?
I was about to suggest... |
Signed-off-by: James Brodman <james.brodman@intel.com>
Signed-off-by: James Brodman <james.brodman@intel.com>
Signed-off-by: James Brodman <james.brodman@intel.com>
Signed-off-by: James Brodman <james.brodman@intel.com>
Signed-off-by: James Brodman <james.brodman@intel.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm owning only one file - llvm/test/tools/sycl-post-link/sc_sym_two_refs.ll.
Changes in this file looks okay, but doesn't seem to be necessary for runtime changes.
Signed-off-by: James Brodman <james.brodman@intel.com>
Signed-off-by: James Brodman <james.brodman@intel.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm ok with FE changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't spot this before because it isn't part of the diff, but atomic_accessor.hpp still has _INTEL_
in its copyright header. It might be worth grepping to see if any others do as well.
Signed-off-by: James Brodman <james.brodman@intel.com>
Fixed. Didn't find more. |
/summary:run |
Signed-off-by: James Brodman <james.brodman@intel.com>
f46ef3b
This resolves #2224 and fixes #2229 Original commit: KhronosGroup/SPIRV-LLVM-Translator@10d1285
Breaking #2155 into smaller PRs.
This concentrates general language extensions into the ONEAPI namespace.
It includes:
Atomics
Printf
Group Algorithms
Reductions
Sub-groups
Specialization Constants
Function Pointers
Signed-off-by: James Brodman james.brodman@intel.com