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] Fix types and transparent functors recognition in reduction #1709

Merged
merged 3 commits into from
May 20, 2020

Conversation

v-klochkov
Copy link
Contributor

  1. Enable operator*, operator+, operator|, operator&, operator^= for
    corresponding transparent functors used in reduction.
  2. Fixed the case when reduction object is passed to parallel_for
    an R-value.
  3. Allow identity-less constructors for reductions with transparent functors.
  4. Replaced some 'auto' declarations with Reduction::result_type
    and added intermediate assignments/casts to avoid type ambiguities
    caused by using sycl::half type, and which may also be caused by custom/user
    types as well.

Signed-off-by: Vyacheslav N Klochkov [email protected]

@v-klochkov v-klochkov requested a review from Pennycook May 19, 2020 02:12
@v-klochkov v-klochkov requested a review from a team as a code owner May 19, 2020 02:12
@v-klochkov v-klochkov force-pushed the public_vklochkov_reduction_p5ctor branch from 410d960 to b5909e4 Compare May 19, 2020 02:49
1. Enable operator*, operator+, operator|, operator&, operator^= for
   corresponding transparent functors used in reduction.
2. Fixed the case when reduction object is passed to parallel_for
   an R-value.
3. Allow identity-less constructors for reductions with transparent functors.
4. Replaced some 'auto' declarations with Reduction::result_type
   and added intermediate assignments/casts to avoid type ambiguities
   caused by using sycl::half type, and which may also be caused by custom/user
   types as well.

Signed-off-by: Vyacheslav N Klochkov <[email protected]>
@v-klochkov v-klochkov force-pushed the public_vklochkov_reduction_p5ctor branch from b5909e4 to 65c378e Compare May 19, 2020 04:16
alexbatashev
alexbatashev previously approved these changes May 19, 2020
Copy link
Contributor

@alexbatashev alexbatashev left a comment

Choose a reason for hiding this comment

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

LGTM

@v-klochkov v-klochkov merged commit 92e6226 into intel:sycl May 20, 2020
@v-klochkov v-klochkov deleted the public_vklochkov_reduction_p5ctor branch May 20, 2020 07:46
alexbatashev pushed a commit to alexbatashev/llvm that referenced this pull request May 20, 2020
* sycl: (65 commits)
  [SYCL] Host task implementation (intel#1471)
  [SYCL] Update getting dependencies documentation (intel#1699)
  [SYCL] Fix types and transparent functors recognition in reduction (intel#1709)
  [SYCL][Doc] Get started guide clean-up (intel#1697)
  Add --spirv-fp-contract={on|off|fast} option (intel#509)
  [SYCL][Doc] Fix tbb target path in Get Started Guide. (intel#1695)
  [SYCL] Add support for kernel name types templated using enums. (intel#1675)
  [Driver][SYCL] Make -std=c++17 the default for DPC++ (intel#1662)
  AllocaInst should store Align instead of MaybeAlign.
  [X86] Replace selectScalarSSELoad ComplexPattern with PatFrags to handle the 3 types of loads we currently match.
  Harden IR and bitcode parsers against infinite size types.
  Revert "[nfc] test commit"
  [nfc] test commit
  Expose IRGen API to add the default IR attributes to a function definition.
  The release notes for ObjCBreakBeforeNestedBlockParam was placed between the release note for IndentCaseBlocks and its example code
  [VectorCombine] forward walk through instructions to improve chaining of transforms
  [PhaseOrdering] add vector reduction tests; NFC
  [InstCombine] Clean up alignment handling (NFC)
  [ARM] Patterns for VQSHRN
  [VectorCombine] add reduction-like patterns; NFC
  ...
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.

5 participants