Skip to content

[SYCL] Add group algorithms for MUL/OR/XOR/AND operations #2339

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

Merged
merged 3 commits into from
Aug 20, 2020

Conversation

v-klochkov
Copy link
Contributor

This patch only adds the operations but does not fully enables them
as more changes are needed in driver to conditionally or unconditionally
raise the spirv std from 1.1 to 1.3, which is needed to avoid assert
fails for spirv-1.3 operations being used under -spirv-max-version=1.1
used by default now.

This patch also:

  • adds few test cases to corresponding LIT tests, which are temporarily
    turned off though (until CPU/GPU RT gets ready to handle the new operations).
  • fixes the device check in 3 LIT tests to enable them for PI_LEVEL0.

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

This patch only adds the operations but does not fully enables them
as more changes are needed in driver to conditionally or unconditionally
raise the spirv std from 1.1 to 1.3, which is needed to avoid assert
fails for spirv-1.3 operations being used under -spirv-max-version=1.1
used by default now.

This patch also:
- adds few test cases to corresponding LIT tests, which are temporarily
  turned off though (until CPU/GPU RT gets ready to handle the new operations).
- fixes the device check in 3 LIT tests to enable them for PI_LEVEL0.

Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Signed-off-by: Vyacheslav N Klochkov <vyacheslav.n.klochkov@intel.com>
Pennycook
Pennycook previously approved these changes Aug 18, 2020
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.

LGTM. Thanks for also fixing the minimum/maximum identity values.

Fznamznon
Fznamznon previously approved these changes Aug 19, 2020
Copy link
Contributor

@Fznamznon Fznamznon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FE seems ok

@v-klochkov v-klochkov dismissed stale reviews from Fznamznon and Pennycook via 693c3cf August 20, 2020 19:46
@bader bader merged commit 96da39e into intel:sycl Aug 20, 2020
@v-klochkov v-klochkov deleted the public_vklochkov_reduce_bit_or branch August 21, 2020 04:19
jsji pushed a commit that referenced this pull request Feb 29, 2024
…#2339)

The contract between some frontends and Translator is that
calls to functions which are matching to hardcoded name are
converted to specific Ops in SPIR-V. The translation from LLVM to SPIR-V of
OpGroupNonUnfiromShuffleDown call was done incorrectly. The struct member
which is correct target for this op was left unwrapped which resulted in
SPIR-V nonconforming with specification. The result of this were later problems
with e.g. SPIR-V to LLVM translation.

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@6b3ec4166a63039
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.

6 participants