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

assert doesn't work on OpenCL GPU after driver uplift #11364

Open
AlexeySachkov opened this issue Sep 29, 2023 · 1 comment
Open

assert doesn't work on OpenCL GPU after driver uplift #11364

AlexeySachkov opened this issue Sep 29, 2023 · 1 comment
Labels
bug Something isn't working confirmed

Comments

@AlexeySachkov
Copy link
Contributor

Describe the bug

Testing in #11302 shows that assert does not produce any messages and doesn't stop program execution with NEO 23.30.26918.9 when using opencl backend.

Affected tests:

  • sycl/test-e2e/Assert/assert_in_kernels.cpp
  • sycl/test-e2e/Assert/assert_in_multiple_tus.cpp
  • sycl/test-e2e/Assert/assert_in_multiple_tus_one_ndebug.cpp
  • sycl/test-e2e/Assert/assert_in_one_kernel.cpp
  • sycl/test-e2e/Assert/assert_in_simultaneous_kernels.cpp
  • sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus.cpp
  • sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus_one_ndebug.cpp

To Reproduce

Install NEO 23.30.26918.9, launch the test using any existing mechanism for that (check-sycl-e2e target or just repeating commands manually)

It is expected that when a test binary is launched, it prints a message about assert failure and exist with a non-zero exit code before printing some final message like "The test ended.", but it shouldn't happen.

Environment (please complete the following information):

  • OS: Linux
  • Target device and vendor: Intel GPU
  • DPC++ version: any recent intel/llvm will do
  • Dependencies version: NEO 23.30.26918.9
@AlexeySachkov AlexeySachkov added the bug Something isn't working label Sep 29, 2023
@AlexeySachkov
Copy link
Contributor Author

We discussed this with @PawelJurek and the behavior is expected from the GPU driver point view. GPU driver recently got native support for assert, i.e. cl_intel_devicelib_cassert was implemented. That includes automatic removal of any fallback assert implementation SYCL compiler may be inserting. However, as I understood it mechanism for communicating the assertion back to host was only implemented for Level Zero path and not for OpenCL path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working confirmed
Projects
None yet
Development

No branches or pull requests

1 participant