Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

[SYCL] Add test cases for SYCL-2020 reductions used in read_write mode #170

Merged
merged 5 commits into from
Mar 17, 2021

Conversation

v-klochkov
Copy link

Signed-off-by: Vyacheslav N Klochkov vyacheslav.n.klochkov@intel.com

@v-klochkov v-klochkov force-pushed the public_vklochkov_reduction_2020 branch from 2c19a76 to fe70d07 Compare March 7, 2021 05:37
v-klochkov added a commit to v-klochkov/llvm that referenced this pull request Mar 8, 2021
…riable

LIT tests: intel/llvm-test-suite#170

This patch:
- adds SYCL-2020 property::reduction::initialize_to_identity
- implements support for SYCL-2020 reductions for which initialize_to_identity
  is NOT used (corresponds to read_write and USM ONEAPI::reductions).
  sycl::reduction re-uses ONEAPI::reduction implementation/classes and
  automatically creates placeholder accessors for sycl::reduction called
  with sycl::buffer argument.
- adds operator++ for reducer class defined in SYCL-2020
- fixes 2 errors in an ONEAPI::reduction used with placeholder accessors.

The attribute "initialize_to_identity" is NOT supported yet.
The multi-dimensional reductions are NOT supported yet.
Reductions accepting sycl::span are not supported yet.
Reductions cannot be yet used in parallel_for() accepting sycl::range

Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
v-klochkov added a commit to intel/llvm that referenced this pull request Mar 11, 2021
…rs (#3315)

* [SYCL] Implement SYCL-2020 reductions with read_write access to reduction variable

LIT tests: intel/llvm-test-suite#170

This patch:
- adds SYCL-2020 property::reduction::initialize_to_identity
- implements support for SYCL-2020 reductions for which initialize_to_identity
  is NOT used. Supported reductions correspond to read_write and
  USM ONEAPI::reductions.
- sycl::reduction re-uses ONEAPI::reduction implementation/classes and
  automatically creates placeholder accessors for sycl::reduction called
  with sycl::buffer argument.
- adds operator++ for reducer class defined in SYCL-2020
- fixes 2 errors in an ONEAPI::reduction used with placeholder accessors.

The attribute "initialize_to_identity" is added but NOT supported yet.
The multi-dimensional reductions are NOT supported yet.
Reductions accepting sycl::span are not supported yet.
Reductions cannot be yet used in parallel_for() accepting sycl::range

Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
These changes verify intel/llvm#3315

Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
@v-klochkov v-klochkov force-pushed the public_vklochkov_reduction_2020 branch from fe70d07 to 2645b72 Compare March 11, 2021 20:09
@v-klochkov v-klochkov requested a review from vladimirlaz March 15, 2021 17:37
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
@v-klochkov v-klochkov force-pushed the public_vklochkov_reduction_2020 branch from 7b74a61 to 44c9336 Compare March 16, 2021 20:08
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
@vladimirlaz vladimirlaz merged commit bcc75c7 into intel:intel Mar 17, 2021
@v-klochkov v-klochkov deleted the public_vklochkov_reduction_2020 branch March 17, 2021 06:20
yuxianch added a commit to yuxianch/llvm-test-suite that referenced this pull request Sep 13, 2021
Auto pulldown and update tc files for syclos branch on 20210906
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
intel/llvm-test-suite#170)

Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants