Skip to content
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

Merged

Conversation

dm-vodopyanov
Copy link
Contributor

@dm-vodopyanov dm-vodopyanov commented Jun 28, 2021

To be conformant with SYCL 2020, this patch deprecates ONEAPI and
INTEL namespaces without breaking changes in ABI, and introduces
new ext::oneapi and ext::intel namespaces.

This patch does:

  1. RT part: deprecate ONEAPI and INTEL namespaces, introduce the
    replacement: ext::oneapi and ext::intel namespaces. Copy
    include/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.
  2. FE and Tools part: replace ONEAPI/INTEL namespaces with
    ext::oneapi/intel, update mangling in tests. Modify Util::isSycl... funcs
    to accept both deprecated and new namespaces for compatibility reasons.

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.
@dm-vodopyanov dm-vodopyanov changed the title [SYCL] Transition from ONEAPI/INTEL to oneapi/intel namspaces [SYCL] Transition from ONEAPI/INTEL to oneapi/intel namespaces Jun 28, 2021
Copy link
Contributor

@Pennycook Pennycook left a 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 namespace sycl::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.

kbobrovs
kbobrovs previously approved these changes Jul 16, 2021
@dm-vodopyanov
Copy link
Contributor Author

Waiting for CI to complete. @bader, @vladimirlaz, @romanovvlad feel free to merge the patch if all checks pass as all required approvals were received.

@bader
Copy link
Contributor

bader commented Jul 16, 2021

/summary:run

@dm-vodopyanov
Copy link
Contributor Author

/summary:run

@bader bader merged commit d703f57 into intel:sycl Jul 17, 2021
@dm-vodopyanov
Copy link
Contributor Author

@bader I'm looking into compile failure on post-commit with SharedLibs.

dm-vodopyanov added a commit to dm-vodopyanov/llvm that referenced this pull request Jul 17, 2021
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> &`
bader pushed a commit that referenced this pull request Jul 17, 2021
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> &`
v-klochkov added a commit to v-klochkov/llvm that referenced this pull request Jul 21, 2021
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]>
bader pushed a commit that referenced this pull request Jul 21, 2021
…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]>
alexbatashev added a commit to alexbatashev/llvm that referenced this pull request Jul 22, 2021
…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)
  ...
dm-vodopyanov added a commit to dm-vodopyanov/llvm that referenced this pull request Jul 28, 2021
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.
bader pushed a commit that referenced this pull request Jul 29, 2021
#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.
zahiraam pushed a commit to zahiraam/llvm-1 that referenced this pull request Aug 2, 2021
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.
bader pushed a commit that referenced this pull request Aug 9, 2021
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.
@dm-vodopyanov dm-vodopyanov deleted the private/dvodopya/INTEL__ONEAPI_to_intel__oneapi branch February 10, 2022 14:06
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Feb 23, 2023
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
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
)

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
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
…/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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.