-
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] Implement USM vars and placeholder accessors passed to reduction #1657
[SYCL] Implement USM vars and placeholder accessors passed to reduction #1657
Conversation
0e7d16c
to
e4cbcec
Compare
The 2nd commit in this PR caused a new fail on the new LIT test reduction_usm.cpp. One of changes in the 2nd patch that potentially could break something is the explicit memory allocation/deallocation. |
5fb7e42
to
82408aa
Compare
5773668
to
92ce8bb
Compare
@vladimirlaz , please see the changes in LIT tests. I removed 'UNSUPPORTED: linux' line because it blocked the test on Linux even for CPU where the test passed. |
90089a4
to
4ccfba9
Compare
In order to support USM vars/pointers passed to reduction the placeholder accessors to global buffers were used. Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
The idea of the fix is to guarantee that the temporary buffer created for USM memory does not write to that USM memory at the buffer descturtor. The write to USM buffer happens explicitly using handler::copy(TmpAcc,USMPtr). Another write to USMPtr inside temporary buffer destructor could/might happen even after USMPtr is deallocated, which would cause Seg Fault, which is fixed in this patch. Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
This fix also disables the LIT test reduction_usm.cpp for Linux until the GPU drivers used by CI is updated to 20.06.15619 or newer. Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
4ccfba9
to
afd31d5
Compare
After John's approval I simply re-based the patch to catch the new HEAD with fixed/updated CI. I did not do additional changes. |
Please, use "merge" instead of "rebase". |
I still see unresolved comments from Vlad and John. What is the plan to resolve them? |
All comments are resolved now. |
…_docs * origin/sycl: (1867 commits) [SYCL] Implement USM vars and placeholder accessors passed to reduction (intel#1657) [SYCL] Fix post-commit testing (intel#1705) [SYCL][NFC] Remove multi_ptr<const void, Space>::operator multi_ptr<const void, Space> (intel#1702) [Doc] Readme update. (intel#1701) Support function pointers in cast instructions Adjust FPGA IVDep translation for embedded loops [SYCL] Fix host-to-host copy during copyback (intel#1692) [SYCL] Add information about dependencies used in CI [SYCL] Add runtime support for fsycl-id-queries-fit-in-int (intel#1685) Revert "Revert "[llvm][NFC] Cleanup uses of std::function in Inlining-related APIs"" StoreInst should store Align, not MaybeAlign [clang][slh] Add test for SLH feature checking macro [NFC] Deduplicate comment in PromoteMemoryToRegister.cpp [WebAssembly] Optimize splats of bitcasted vectors [LLD][ELF] Use offset in thin archives to disambiguate thinLTO members [AArch64][SVE] Implement AArch64ISD::SETCC_PRED [SVE] Restore broken LLVM-C ABI compatability IR: Remove extra name mangling from llvm.ptrmask [NFC] Whitespace fix inside OptParserEmitter [compiler-rt][CMAKE] Only add cmake link flags in standalone build ...
Unstreamed in KhronosGroup/SPIRV-Headers#298 Signed-off-by: Sidorov, Dmitry <dmitry.sidorov@intel.com> Original commit: KhronosGroup/SPIRV-LLVM-Translator@1d56946
In order to support USM vars/pointers passed to reduction
the placeholder accessors to global buffers were used.
Signed-off-by: Vyacheslav N Klochkov vyacheslav.n.klochkov@intel.com