Skip to content

[SYCL] Prohibit usage of <sycl/sycl.hpp> in E2E tests #13875

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 2 commits into from
May 22, 2024

Conversation

aelovikov-intel
Copy link
Contributor

Fine-grained includes should be used instead for the benefits of
compile-time. So far, the feature is still internal, customer code
should continue using standard header files only.

We can consider adding a Nightly workflow running E2E tests with extra
compilation flag -include sycl/sycl.hpp if people think that would be
important to have. I personally think that any potential discrepancies
between full sycl.hpp and individual includes can be caught in
compile-time and it should be enough to have tests in sycl/test.

@aelovikov-intel
Copy link
Contributor Author

Depends on #13847, only the top commit should be reviewed under this PR.

@aelovikov-intel aelovikov-intel marked this pull request as ready for review May 22, 2024 16:15
@aelovikov-intel aelovikov-intel requested review from a team as code owners May 22, 2024 16:15
headers only. However, the work of eliminating unnecessary dependencies between
implementation header files is still in progress and the final set of these
"fine-grained" includes that might be officially documented and suggested for
customers to use isn't determined yet. Until then, code outside of this project
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we bold "Until then, code outside of this project must keep using <sycl/sycl.hpp> provided by the SYCL2020 specification." ?
It looks important for customers.

Fine-grained includes should be used instead for the benefits of
compile-time. So far, the feature is still internal, customer code
should continue using standard header files only.

We can consider adding a Nightly workflow running E2E tests with extra
compilation flag `-include sycl/sycl.hpp` if people think that would be
important to have. I personally think that any potential discrepancies
between full `sycl.hpp` and individual includes can be caught in
compile-time and it should be enough to have tests in `sycl/test`.
@aelovikov-intel aelovikov-intel requested review from uditagarwal97 and removed request for a team May 22, 2024 17:54
Copy link
Contributor

@uditagarwal97 uditagarwal97 left a comment

Choose a reason for hiding this comment

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

LGTM

@aelovikov-intel
Copy link
Contributor Author

Resource leak in FAIL: SYCL :: Graph/Explicit/host_task_last.cpp (998 of 2057) on Windows is unrelated.

@aelovikov-intel aelovikov-intel merged commit f6f8874 into intel:sycl May 22, 2024
13 of 14 checks passed
@aelovikov-intel aelovikov-intel deleted the no-sycl-hpp branch May 22, 2024 20:55
@steffenlarsen
Copy link
Contributor

@aelovikov-intel - sycl/test-e2e/no_sycl_hpp_in_e2e_tests.cpp has been seen failing in both pre-commit (#13888) and post-commit (#13359).

@Nuullll
Copy link
Contributor

Nuullll commented May 23, 2024

@aelovikov-intel - sycl/test-e2e/no_sycl_hpp_in_e2e_tests.cpp has been seen failing in both pre-commit (#13888) and post-commit (#13359).

My bad, I removed usage of <sycl/sycl.hpp> in #13888

steffenlarsen added a commit to steffenlarsen/llvm that referenced this pull request May 23, 2024
intel#13875 made sycl/sycl.hpp include
in E2E tests prohibited. However,
LLVMIntrinsicLowering/sub_byte_bitreverse.cpp snuck in without this
check. This commit fixes the includes in that test.

Signed-off-by: Larsen, Steffen <[email protected]>
@steffenlarsen
Copy link
Contributor

My bad, I removed usage of <sycl/sycl.hpp> in #13888

Thank you, @Nuullll ! I now see what is going on. I have addressed the post-commit issue in #13889.

steffenlarsen added a commit that referenced this pull request May 24, 2024
#13875 made sycl/sycl.hpp include in
E2E tests prohibited. However,
LLVMIntrinsicLowering/sub_byte_bitreverse.cpp snuck in without this
check. This commit fixes the includes in that test.

Signed-off-by: Larsen, Steffen <[email protected]>
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.

4 participants