-
Notifications
You must be signed in to change notification settings - Fork 744
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] Transition from ONEAPI/INTEL to ext::oneapi/intel namespaces #4014
[SYCL] Transition from ONEAPI/INTEL to ext::oneapi/intel namespaces #4014
Conversation
To be conformant with SYCL 2020, this patch deprecates `ONEAPI` and `INTEL` namespaces without breaking changes in ABI, and introduces new `oneapi` and `intel` namespaces.
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.
According to SYCL 2020, the new namespace should be sycl::ext::oneapi
, not sycl::oneapi
:
The namespace
sycl::ext::<vendorstring>
is reserved for use by extensions. For example, the Acme vendor could define extended types and free functions in the namespacesycl::ext::acme
, and this would guarantee that they will not collide with definitions in other vendors' extensions or with future versions of the core SYCL specification.
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
…dvodopya/INTEL__ONEAPI_to_intel__oneapi
Waiting for CI to complete. @bader, @vladimirlaz, @romanovvlad feel free to merge the patch if all checks pass as all required approvals were received. |
/summary:run |
/summary:run |
@bader I'm looking into compile failure on post-commit with SharedLibs. |
This patch fixes implementation of ONEAPI::online_compiler class after PR intel#4014: * fix post-commit failure in SharedLibs caused by extra syntax operations: https://github.com/intel/llvm/runs/3091963555 * fix return type for functions which return `online_compiler<Lang> &`: now correct `ONEAPI::online_compiler<Lang> &` returns instead of wrong `ext::intel::online_compiler<Lang> &`
This patch fixes implementation of ONEAPI::online_compiler class after PR #4014: * fix post-commit failure in SharedLibs caused by extra syntax operations: https://github.com/intel/llvm/runs/3091963555 * fix return type for functions which return `online_compiler<Lang> &`: now correct `ONEAPI::online_compiler<Lang> &` returns instead of wrong `ext::intel::online_compiler<Lang> &`
During rebase of intel#4014 one of calls to ONEAPI::detail::reduSaveFinalResultToUserMem was left as is, while the implementation was moved to ext::oneapi::detail namespace. That caused errors during compilation of parallel_for(range,reduction,func) Fixed it here. Signed-off-by: Vyacheslav N Klochkov <[email protected]>
…4151) During rebase of #4014 one of calls to ONEAPI::detail::reduSaveFinalResultToUserMem was left as is, while the implementation was moved to ext::oneapi::detail namespace. That caused errors during compilation of parallel_for(range,reduction,func) Fixed it here. Signed-off-by: Vyacheslav N Klochkov <[email protected]>
…ackend_plugin * upstream/sycl: (26 commits) [SPIR-V][NFC] Move non-upstreamed FuncParam decorations into internal:: (intel#4138) [SYCL] Move free function queries to experimental namespace (intel#4090) [SYCL][XPTI] Enable PI calls notifications with arguments (intel#4148) [SYCL] Revert queue::wait() to its old behaviour with Level Zero (intel#4153) [SYCL] Add missing <cstring> header to spirv.hpp (intel#4157) [SYCL] Adds info query for atomic_memory_order_capabilities on device and context (intel#4105) [SYCL] Improve performance of generic shuffles (intel#3815) [SYCL] Fix the error with namespaces caused during rebase of intel#4014 (intel#4151) [ESIMD] Fix 'ambiguous operator' error with length 1 simd operands (intel#4149) [libdevice][NFC] Fix libdevice dependencies list (intel#4130) [SPIR-V] Reland Encode debug info producer in SPIR-V (intel#4082) [SYCL][ROCm] Add ROCm support to get_device_count_by_type (intel#4113) [SYCL] Fix sRGB device info (intel#4145) [SYCL][ROCm] Fix kernel launch with multiple dimensions (intel#4063) [SYCL][ROCm] Fix compilation for AMD GPU with -fsycl-dead-args-optimization (intel#4126) [SYCL][Level Zero] Enable multi-CCS support. (intel#4038) [SYCL] Pass bound arch to unbundler (intel#4112) [ESIMD][doc] Added documentation for some ESIMD math APIs (intel#3995) [ESIMD] rename gather4/scatter4 to gather_rgba/scatter_rgba (intel#4120) [SYCL][NFC] Remove unused variable. (intel#4131) ...
Patch intel#3957 introduces `_statically_coalesce_val` in fpga_lsu.cpp like this: ``` _GetValue<statically_coalesce_impl<1>, _mem_access_params...>::value; ``` During merge conflict resolution in intel#4014 it was change accidentally to ``` _GetValue<statically_coalesce_impl<0>, _mem_access_params...>::value; ``` Restoring the right value.
#4206) Patch #3957 introduces `_statically_coalesce_val` in fpga_lsu.cpp like this: ``` _GetValue<statically_coalesce_impl<1>, _mem_access_params...>::value; ``` During merge conflict resolution in #4014 it was change accidentally to ``` _GetValue<statically_coalesce_impl<0>, _mem_access_params...>::value; ``` Restoring the right value.
intel#4206) Patch intel#3957 introduces `_statically_coalesce_val` in fpga_lsu.cpp like this: ``` _GetValue<statically_coalesce_impl<1>, _mem_access_params...>::value; ``` During merge conflict resolution in intel#4014 it was change accidentally to ``` _GetValue<statically_coalesce_impl<0>, _mem_access_params...>::value; ``` Restoring the right value.
This patch returns some of the symbols of the library which had @oneapi@sycl@ before #4014 , and after that they were renamed to @oneapi@ext@sycl@. These symbols can't be used by users because the fully internal class stream_impl was exported, so nothing breaks. Anyway, some symbols were removed in comparison with Gold, and we can't change ABI yet. During the timeframe where we can break ABI, we can fix stream_impl by removing `__SYCL_EXPORT` from it.
This patch adds 2nd include path <build_dir>/include (in addition to <build_dir>/include/sycl) to LIT infra to add a ability to compile DPC++ code with oneapi and intel extensions which moved from (e.g., for intel) <build_dir>/include/CL/sycl/INTEL to <build_dir>/include/sycl/ext/intel in intel/llvm:intel#4014
) This patch adds 2nd include path <build_dir>/include (in addition to <build_dir>/include/sycl) to LIT infra to add a ability to compile DPC++ code with oneapi and intel extensions which moved from (e.g., for intel) <build_dir>/include/CL/sycl/INTEL to <build_dir>/include/sycl/ext/intel in intel/llvm:intel#4014
…/llvm-test-suite#352) This patch fixes failure in intel/llvm:intel#4014 caused by existance of the online_compiler class in deprecated sycl::INTEL namespace and in modern one sycl::ext::intel
To be conformant with SYCL 2020, this patch deprecates
ONEAPI
andINTEL
namespaces without breaking changes in ABI, and introducesnew
ext::oneapi
andext::intel
namespaces.This patch does:
ONEAPI
andINTEL
namespaces, introduce thereplacement:
ext::oneapi
andext::intel
namespaces. Copyinclude/CL/sycl/ONEAPI to sycl/ext/oneapi and include/CL/sycl/INTEL to
sycl/ext/intel as is. Add deprecation warnings to include/CL/sycl/ONEAPI
and include/CL/sycl/INTEL headers.
ONEAPI
/INTEL
namespaces withext::oneapi/intel
, update mangling in tests. ModifyUtil::isSycl...
funcsto accept both deprecated and new namespaces for compatibility reasons.