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

Update tests for queue constructors #483

Merged
merged 10 commits into from
Feb 7, 2023

Conversation

AmirIpma
Copy link
Contributor

Add missing tests for queue constructors according to test plan https://github.com/KhronosGroup/SYCL-CTS/blob/SYCL-2020/test_plans/queue_constructors.asciidoc

@AmirIpma AmirIpma requested a review from a team as a code owner January 23, 2023 11:00
@CLAassistant
Copy link

CLAassistant commented Jan 24, 2023

CLA assistant check
All committers have signed the CLA.

tests/queue/queue_constructors.cpp Outdated Show resolved Hide resolved
tests/queue/queue_constructors.cpp Outdated Show resolved Hide resolved
tests/queue/queue_constructors.cpp Outdated Show resolved Hide resolved
tests/queue/queue_properties.cpp Outdated Show resolved Hide resolved
tests/queue/queue_properties.cpp Outdated Show resolved Hide resolved
tests/queue/queue_properties.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

@bader bader left a comment

Choose a reason for hiding this comment

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

LGTM, but we need to fix the compilation with ComputeCPP before the merge.

tests/queue/queue_properties.cpp Outdated Show resolved Hide resolved
@bader
Copy link
Contributor

bader commented Jan 26, 2023

@ProGTX, ComputeCPP build fails with:

/sycl/include/SYCL/apis.h:285:39: error: ‘cl::sycl::detail::inspector_t<queue_properties::kernel2> incompatibleLayoutKernel’ has incomplete type
  285 |       detail::inspector_t<kernelName> incompatibleLayoutKernel{};
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
/sycl/include/SYCL/apis.h:289:9: error: static assertion failed: The kernel argument memory layout of gcc 9.3.0 is not compatible with the device compiler. Try to use -sycl-driver instead.
  289 |         isLayoutCompatible,
      |         ^~~~~~~~~~~~~~~~~~

Any fix suggestions?

@fraggamuffin
Copy link

issue with compilation model, need to explicitly capture values into the kernel due to different layout between compiler and host
implicit captures have reordered layouts, but spec say = capture is ok
should this be restricted feature set due to different host/device compiler and lambda naming (part of reduced feature set)?
split compilation mean conformance to reduced feature set
set host compiler to be clang in CI?
do we need split compilation to pass conformance? update configure script, CP to manually build the container

@keryell keryell mentioned this pull request Jan 26, 2023
}

void check_in_order_functionality(sycl::queue &queue) {
bool *data_changed = sycl::malloc_device<bool>(1, queue);
Copy link
Member

Choose a reason for hiding this comment

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

What happens if USM is not supported by the device?

Copy link
Contributor

Choose a reason for hiding this comment

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

If USM is not supported by the device, this part of test is skipped (checked on line 88) and check_in_order_functionality is not called. Should we move this check into this function?

Copy link
Member

Choose a reason for hiding this comment

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

Ah good. Perhaps it could be clearer if the test were here.

Copy link
Contributor

Choose a reason for hiding this comment

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

Moved SKIP to check_in_order_functionality for clarity.

@fraggamuffin
Copy link

docker fix needed

Copy link
Member

@keryell keryell left a comment

Choose a reason for hiding this comment

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

Thanks.

}

void check_in_order_functionality(sycl::queue &queue) {
bool *data_changed = sycl::malloc_device<bool>(1, queue);
Copy link
Member

Choose a reason for hiding this comment

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

Ah good. Perhaps it could be clearer if the test were here.

@ProGTX
Copy link
Contributor

ProGTX commented Feb 6, 2023

ComputeCpp Docker image was updated, could you please try running this again?

tests/queue/queue_constructors.cpp Outdated Show resolved Hide resolved
tests/queue/queue_constructors.cpp Outdated Show resolved Hide resolved
@kopylovanat
Copy link
Contributor

ComputeCpp Docker image was updated, could you please try running this again?

@ProGTX It seems that it worked, thank you!

@bader bader merged commit 4a9e68f into KhronosGroup:SYCL-2020 Feb 7, 2023
@AmirIpma AmirIpma deleted the queue_constructors branch February 13, 2023 12:20
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.

None yet

8 participants