-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL] Add implementation of kernel_bundle support. Part 1. #3278
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
[SYCL] Add implementation of kernel_bundle support. Part 1. #3278
Conversation
This patch adds most of declarations of kernel_bundle related APIs. Most of the logic of this patch is in making so APIs that have template parameters call corresponding library APIs that have no template parameters.
@@ -0,0 +1,572 @@ | |||
//==------- kernel_bundle.hpp - SYCL kernel_bundle and free functions ------==// | |||
// |
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.
Do not add a test in this patch since not sure if it makes a lot of seance to prepare "compile-only" test which will be replaced anyway.
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.
LGTM
#include <memory> | ||
#include <vector> | ||
|
||
__SYCL_INLINE_NAMESPACE(cl) { |
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.
Why do we put SYCL-2020 feature in cl::sycl
namespace instead of sycl
?
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.
Haven't thought about it. Since cl
namespace is inline
one it should not be a big issue, do you agree?
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.
This seems to be a bug which should be fixed in any case.
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.
It could be a DPC++ extension... Just use old-style programming but with new features.
On the other hand, in SYCL 2020, ::cl
should not have any special meaning when #include <sycl/sycl.hpp>
, so it would be bad to have some user code failing to compile just because ::cl
is used in the program in an innocent OpenCL-unrelated way.
This patch adds most of declarations of kernel_bundle related APIs.
Most of the logic of this patch is in making so APIs that have
template parameters call corresponding library APIs that have no
template parameters.