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

[SYCL] test new complex support by group_algorithms #767

Merged

Conversation

cperkinsintel
Copy link

@cperkinsintel cperkinsintel commented Jan 25, 2022

These test updates support intel/llvm#5394 where we expand some of the group algorithms to support std::complex data type.

Signed-off-by: Chris Perkins [email protected]

@cperkinsintel cperkinsintel changed the title [SYCL][WIP][DO NOT MERGE] test new complex support by group_algorithms [SYCL] test new complex support by group_algorithms Jan 26, 2022
@cperkinsintel cperkinsintel marked this pull request as ready for review January 28, 2022 03:13
@cperkinsintel cperkinsintel requested review from Pennycook and a team as code owners January 28, 2022 03:13
Signed-off-by: Chris Perkins <[email protected]>
Pennycook
Pennycook previously approved these changes Feb 1, 2022
@cperkinsintel
Copy link
Author

/verify with intel/llvm#5394

Copy link

@steffenlarsen steffenlarsen left a comment

Choose a reason for hiding this comment

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

Tests look good, but I fear it could cause failures on devices without aspect::fp64. Do we test on any such devices?

@cperkinsintel
Copy link
Author

@steffenlarsen - I added protection to check for aspect::fp64 before testing std::complex

@steffenlarsen
Copy link

@steffenlarsen - I added protection to check for aspect::fp64 before testing std::complex

You have! But the problem is that the kernel using fp64 operations may be bundled together with the other kernels. This means when the test kernels are built they may include this kernel and fail.

@cperkinsintel
Copy link
Author

/verify with intel/llvm#5394

bader pushed a commit to intel/llvm that referenced this pull request Feb 7, 2022
Many of the group algorithms already support std::complex data types, but not all. There is a new extension that defines their expanded use in the reduce and scan group algorithms.  ( [here](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/ComplexAlgorithms/ComplexAlgorithms.asciidoc) ).   This PR implements that new extension. 

Tests have been updated here: intel/llvm-test-suite#767
vladimirlaz
vladimirlaz previously approved these changes Feb 8, 2022
@vladimirlaz
Copy link

@steffenlarsen - I added protection to check for aspect::fp64 before testing std::complex

You have! But the problem is that the kernel using fp64 operations may be bundled together with the other kernels. This means when the test kernels are built they may include this kernel and fail.

The potential fixes for the situation may be:

  • move fp64 code to separate test;
  • use -fsycl-device-code-split==per_kernel option for building test app.

@cperkinsintel
Copy link
Author

I believe this is ready for merge.

@vladimirlaz
Copy link

I believe this is ready for merge.

don't we want to add -fsycl-device-code-split=per_kernel to avoid potential failures on devices that do not support fp64?

Signed-off-by: Chris Perkins <[email protected]>
steffenlarsen
steffenlarsen previously approved these changes Feb 9, 2022
Copy link

@steffenlarsen steffenlarsen 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 adding the split. 😄

@vladimirlaz vladimirlaz merged commit 2db68c1 into intel:intel Feb 10, 2022
myler pushed a commit to myler/llvm-test-suite that referenced this pull request Apr 12, 2022
aelovikov-intel pushed a commit to aelovikov-intel/llvm that referenced this pull request Mar 27, 2023
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.

4 participants