-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][ESIMD] Implement unified memory API - block_store slm and local accessors #11921
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
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.
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.
Thank you for the fix. I finished the 1st code-review pass.
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.
Mark it as 'request changes' to avoid accidental merge before fixing it.
@v-klochkov Thanks a lot for the review, all feedback should be addressed in the latest commit |
…l accessors Signed-off-by: Sarnie, Nick <[email protected]>
Signed-off-by: Sarnie, Nick <[email protected]>
Signed-off-by: Sarnie, Nick <[email protected]>
Signed-off-by: Sarnie, Nick <[email protected]>
Sorry for force-push, rebasing after pulldown |
Why not to use |
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.
few nits + 1 comment regarding driver version requirement in the tests.
else | ||
slm_block_store(LocalElemOffset, Vals); | ||
slm_block_store<T, N>(LocalElemOffset, Vals); |
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.
nit: IMO, it would be better to not pass <T, N>
, which would make the test closer to what user is supposed to do and make the call less verbose and make the check stronger.
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.
did this for all cases besides simd_view, we need to specify there because the compiler can't autodeduce, and i double checked to make sure the template parameters are the same as existing apis, so i think this is just a simd_view thing
For some reason I thought it would list all of the new unrelated changes in the PR making it hard to view, but looks like I am wrong and I will use merge in the future, thanks! |
Signed-off-by: Sarnie, Nick <[email protected]>
Signed-off-by: Sarnie, Nick <[email protected]>
1 test failed. The driver version in CI looks very old.
|
@v-klochkov Ah ok it's only windows. Will do both suggestions, thanks |
Signed-off-by: Sarnie, Nick <[email protected]>
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.
Temporarily blocking to resolve the question with simd_view
parameters of slm_block_store()
Signed-off-by: Sarnie, Nick <[email protected]>
Signed-off-by: Sarnie, Nick <[email protected]>
Seems that SYCL :: ESIMD/unified_memory_api/block_store_slm_acc.cpp is failing in post-commit after this PR, could you please take a look: |
Looking now |
Fix: #12054 |
Thanks a lot for the quick fix! |
…e_slm_acc.cpp (#12054) Originally it seemed the problem was only on Windows, but it seems it happens on Linux too, see [here](#11921 (comment)). I manually verified it fails consistently before this version and passes consistently after this version. Signed-off-by: Sarnie, Nick <[email protected]>
This change implements the last piece for block_store: local accessors and SLM.