Skip to content

Conversation

@frasercrmck
Copy link
Contributor

@frasercrmck frasercrmck commented Jun 1, 2023

  • If sycl-ls failed, the error message referenced an undefined variable
  • If either the aspects or sub-group sizes were unable to be determined,
    we were later referencing undefined set variables (lit_config.error
    doesn't exit immediately).
  • Error messages weren't printing stderr

CC @aelovikov-intel

@frasercrmck frasercrmck requested a review from a team as a code owner June 1, 2023 06:41
@frasercrmck frasercrmck requested a review from bso-intel June 1, 2023 06:41
@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 07:10 — with GitHub Actions Inactive
@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 07:55 — with GitHub Actions Inactive
@frasercrmck frasercrmck force-pushed the fix-lit-e2e-errors branch from b732232 to 22e27ea Compare June 1, 2023 08:16
@frasercrmck frasercrmck changed the title [SYCL][Test E2E] Prevent errors in determining aspects/sg sizes [SYCL][Test E2E] Fix errors in determining aspects/sg sizes Jun 1, 2023
@frasercrmck frasercrmck force-pushed the fix-lit-e2e-errors branch from 22e27ea to eacabe2 Compare June 1, 2023 08:18
@frasercrmck
Copy link
Contributor Author

I decided that failing to determine sub-group sizes shouldn't fail the lit invocation, since AFAICT it uses a non-standard extension. Our downstream device doesn't support that. It's only to determine the features for a handful of opt-in tests.

@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 11:18 — with GitHub Actions Inactive
@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 13:05 — with GitHub Actions Inactive
@aelovikov-intel
Copy link
Contributor

since AFAICT it uses a non-standard extension.

info::device::sub_group_sizes is standard SYCL2020, see https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#_device_information_descriptors.

@frasercrmck
Copy link
Contributor Author

frasercrmck commented Jun 1, 2023

since AFAICT it uses a non-standard extension.

info::device::sub_group_sizes is standard SYCL2020, see https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#_device_information_descriptors.

Ah right you are, thank you. I must have been going off older docs, or confused by the name PI_DEVICE_INFO_SUB_GROUP_SIZES_INTEL(?)

It should remain an error, then.

@frasercrmck frasercrmck force-pushed the fix-lit-e2e-errors branch from eacabe2 to 92060d2 Compare June 1, 2023 15:31
@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 15:48 — with GitHub Actions Inactive
@frasercrmck frasercrmck temporarily deployed to aws June 1, 2023 17:16 — with GitHub Actions Inactive
* If sycl-ls failed, the error message referenced an undefined variable
* If either the aspects or sub-group sizes were unable to be determined,
  we were later referencing undefined set variables (`lit_config.error`
  doesn't exit immediately).
* Error messages weren't printing stderr
@frasercrmck frasercrmck force-pushed the fix-lit-e2e-errors branch from 92060d2 to 208cf07 Compare June 8, 2023 06:49
@frasercrmck
Copy link
Contributor Author

since AFAICT it uses a non-standard extension.

info::device::sub_group_sizes is standard SYCL2020, see https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#_device_information_descriptors.

I've kept this as a "note", thanks

@frasercrmck frasercrmck temporarily deployed to aws June 8, 2023 09:46 — with GitHub Actions Inactive
@frasercrmck frasercrmck temporarily deployed to aws June 8, 2023 10:46 — with GitHub Actions Inactive
lit_config.note('Aspects for {}: {}'.format(sycl_device, ', '.join(aspects)))
# We might have several devices matching the same filter in the system.
# Compute intersection of aspects.
aspects = set(dev_aspects[0]).intersection(*dev_aspects)
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are you removing the else:? Won't it result in python exception in dev_aspects[0] in this line?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No because if dev_aspects is empty, we're already appending an empty set() on line 399.

@aelovikov-intel aelovikov-intel merged commit 6436a1a into intel:sycl Jun 8, 2023
@aelovikov-intel
Copy link
Contributor

Thanks!

@frasercrmck frasercrmck deleted the fix-lit-e2e-errors branch June 8, 2023 16:29
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.

2 participants