-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL] Implement local_accessor begin/end #6692
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
SYCL2020 introduces various accessor begin/end member functions that allow user to iterate through the underlying buffer.
/verify with intel/llvm-test-suite#1225 |
Looks like CI & jenkins/llvm-test-suite failures are not related to this patch. @steffenlarsen @AlexeySachkov take a look please |
Looks like the same test fails on #6666 |
/verify with intel/llvm-test-suite#1225 |
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 how is this an ABI-break?
Re-trigger tests |
/verify with intel/llvm-test-suite#1225 |
@AlexeySachkov @dm-vodopyanov could you please take a look? |
Re-trigger tests |
/verify with intel/llvm-test-suite#1225 |
sycl/include/sycl/accessor.hpp
Outdated
using const_reference = const DataT &; | ||
using iterator = value_type *; |
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.
Please do not consider my comments as meaningful or blocking since I'm not an expert in this.
But, I'm just curious, will iterator that defined as a pointer work for some weird test cases like 2D sub-acccessor. See Ranged accessors in SYCL 2020 to understand what I mean - https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#sec:accessors.ranged . The phrase that concerns me most is:
If the ranged accessor is multi-dimensional, the sub-range is allowed to describe a region of memory in the underlying buffer that is not contiguous in the linear address space.
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.
Make sense. Need to investigate, thank you
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.
Removed this part of changes because it will be done in scope of #6815
Converting to draft since this interface should also be implemented for local_accessor |
/verify with intel/llvm-test-suite#1225 |
How does it work without #6815 ? |
@aelovikov-intel Hi, we need a new special |
That makes sense, thanks! One more question - where does the guarantee that
would be consecutive comes from? Is it the standard or the implementation? |
@aelovikov-intel I can't find any confirmative statement about this moment in the spec. But, according to the same quote from the Maria's comment - |
I don't think it does, because, despite similarities, I'm fine if our implementation ensures that and it would be enough for me. |
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, I'll let others to take a look/approve.
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.
No more tricky questions from my side :)
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!
/verify with intel/llvm-test-suite#1225 |
@KornevNikita, even though failures look unrelated, we need to have them fixed or at least covered by a tracker - could you please create such? |
SYCL2020 introduces various accessor begin/end member functions that
allow user to iterate through the underlying buffer.
llvm-test-suite patch: intel/llvm-test-suite#1225