-
Notifications
You must be signed in to change notification settings - Fork 745
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 a new header file with the reduction class definition #1558
Conversation
fddb644
to
ba664c5
Compare
Sorry, it took several attempts for me to make 'clang-format' happy. |
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.
Could you please add tests?
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.
Since the reducer
and reduction
classes are Intel extensions, they need to be declared in cl::sycl::intel
.
The files should be moved to CL/sycl/intel/ as well.
af752ab
to
47f34cd
Compare
I moved the file to sycl/intel folder; put the 'reduction' function into namespace intel. @bader , Alexey what is your opinion? |
Ok, I added a very basic test. |
You can use |
47f34cd
to
b37264d
Compare
Ok, I put aux reduction.hpp classes to cl::sycl::intel::detail namespace. |
The patch only adds the new header file, it does not implement the reduction functionality in parallel_for() yet. Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
b37264d
to
ab84fce
Compare
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, but I would like that @Pennycook approve as well.
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. Thanks for all your work on this, @v-klochkov!
Thank you for the approvals. |
…space Inside sycl::intel namespce for the expressions like detail::something, compiler looks for something in sycl::intel::detail instead of sycl::detail. Expressions detail::something were changed to sycl::detail::something Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
The new cl::sycl::intel::detail namespace was added in the 1st commit. |
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 a little surprised that this last change was necessary, but I think it makes sense. Previously there was only one detail::
namespace in this project, and now there are two.
We should consider whether the other Intel extensions should move implementation details to sycl::intel::detail
as well, but I don't think you need to address that here.
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.
As second code-owner of sub-groups headers, I don't have objections against modifications performed in this patch
…_docs * origin/sycl: [XPTI][Framework] Reference implementation of the Xpti framework to be used with instrumentation in SYCL (intel#1557) [SYCL] Initial ABI checks implementation (intel#1528) [SYCL] Support connection with multiple plugins (intel#1490) [SYCL] Add a new header file with the reduction class definition (intel#1558) [SYCL] Add test for SYCL kernels with accessor and spec constant (intel#1536)
…versioning * origin/sycl: [XPTI][Framework] Reference implementation of the Xpti framework to be used with instrumentation in SYCL (intel#1557) [SYCL] Initial ABI checks implementation (intel#1528) [SYCL] Support connection with multiple plugins (intel#1490) [SYCL] Add a new header file with the reduction class definition (intel#1558) [SYCL] Add test for SYCL kernels with accessor and spec constant (intel#1536) [SYCL][CUDA] Move interop tests (intel#1570) [Driver][SYCL] Remove COFF object format designator for Windows device compiles (intel#1574) [SYCL] Fix conflicting visibility attributes (intel#1571) [SYCL][DOC] Update the SYCL Runtime Interface document with design details (intel#680) [SYCL] Improve image accessors support on a host device (intel#1502) [SYCL] Make queue's non-USM event ownership temporary (intel#1561) [SYCL] Added support of rounding modes for non-host devices (intel#1463) [SYCL] SemaSYCL significant refactoring (intel#1517) [SYCL] Support 0-dim accessor in handler::copy(accessor, accessor) (intel#1551)
The patch only adds the new header file, it does not implement
the reduction functionality in parallel_for() yet.
Signed-off-by: Vyacheslav N Klochkov vyacheslav.n.klochkov@intel.com