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

SYCL-Graph host-task E2E leaks with immediate command-lists #14473

Open
EwanC opened this issue Jul 8, 2024 · 1 comment
Open

SYCL-Graph host-task E2E leaks with immediate command-lists #14473

EwanC opened this issue Jul 8, 2024 · 1 comment
Assignees
Labels
bug Something isn't working sycl-graph

Comments

@EwanC
Copy link
Contributor

EwanC commented Jul 8, 2024

Describe the bug

SYCL-Graph E2E tests which use SYCL host-tasks with immediate command-lists have exhibited leaks on the Level Zero backend when run with UR_L0_LEAKS_DEBUG=1.

# |           1: Check balance of create/destroy calls 
# |           2: ---------------------------------------------------------- 
# |           3:  zeContextCreate = 1 \---> zeContextDestroy = 0 ---> LEAK = 1 
# | not:imp1                                                          !~~~      error: no match expected
# |           4:  zeCommandQueueCreate = 1 \---> zeCommandQueueDestroy = 0 ---> LEAK = 1 
# |           5:  zeModuleCreate = 1 \---> zeModuleDestroy = 0 ---> LEAK = 1 
# |           6:  zeKernelCreate = 1 \---> zeKernelDestroy = 0 ---> LEAK = 1 
# |           7:  zeEventPoolCreate = 2 \---> zeEventPoolDestroy = 0 ---> LEAK = 2 
# |           8:  zeCommandListCreateImmediate = 2 |  
# |           .

This has shown up on both Windows and Linux:

It's not clear what in particular about the host-task & immediate command-list combination in these tests causes the leak to occur, as a result the issue may be present in all Graph E2E tests with host-tasks and immediate command-lists. This issue should track all the tests which are disabled for SYCL-Graph due to this, and the progress towards fixing the issue

To reproduce

No response

Environment

No response

Additional context

No response

@EwanC EwanC added bug Something isn't working sycl-graph labels Jul 8, 2024
@EwanC EwanC self-assigned this Jul 8, 2024
EwanC added a commit to reble/llvm that referenced this issue Jul 8, 2024
Improve tracking of disabled E2E tests by providing
a link to GitHub issue where bug is tracker, or explicitly
mentioning that a skip is intended, i.e. Due to a known limitation
external to the SYCL RT.

See the [OpenCL
section](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/CommandGraph.md#opencl)
of the SYCL-Graph design doc as to why a large number of tests
are intended skips on the OpenCL backend.

Unsupported SYCL-Graph tests currently fall into 3 categories:
* [Flaky Windows tests](intel#11852)
* [Arc fails](intel#14474)
* [host-task leaks when using with L0 immediate
  command-lists](intel#14473)
sommerlukas pushed a commit that referenced this issue Jul 10, 2024
Improve tracking of disabled E2E tests by providing a link to GitHub
issue where the bug is tracked, or explicitly mentioning that a skip is
intended, i.e. Due to a known limitation external to the SYCL RT.

See the [OpenCL
section](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/CommandGraph.md#limitations)
of the SYCL-Graph design doc as to why a large number of tests are
intended skips on the OpenCL backend.

Unsupported SYCL-Graph tests currently fall into 3 categories:
* [Flaky Windows tests](#11852)
* [Arc fails](#14474)
* [host-task leaks when using with L0 immediate
command-lists](#14473)
@uditagarwal97
Copy link
Contributor

uditagarwal97 commented Jul 10, 2024

The failure in Graph/RecordReplay/host_task_last.cpp on Windows, L0 (https://github.com/intel/llvm/actions/runs/9859190409/job/27227542913?pr=14498) seems related to issue.

steffenlarsen added a commit that referenced this issue Jul 11, 2024
The RecordReplay/host_task_last.cpp test failed in
#14498 which appears to be the same as
was previously reported in #14473.
This commit disables the test.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
EwanC added a commit to reble/llvm that referenced this issue Aug 2, 2024
We were using the `x` prefix to the `RUN` lit command to comment out a `RUN`
check. However, LIT still detects this as a `RUN` command, which illustrated
in a CI fail of this test recently https://github.com/intel/llvm/actions/runs/10198164930/job/28215254220

Fixed by changing `xRUN` to `RUNx` which I've verified locally is not detected as a
`RUN` command by LIT, and can be used to comment the `RUN` command out.

Relates to intel#14473
steffenlarsen pushed a commit that referenced this issue Aug 6, 2024
We were using the `x` prefix to the `RUN` lit command to comment out a
`RUN` check. However, LIT still detects this as a `RUN` command, which
illustrated in a CI fail of this test recently
https://github.com/intel/llvm/actions/runs/10198164930/job/28215254220

Fixed by changing `xRUN` to `RUNx` which I've verified locally is not
detected as a `RUN` command by LIT, and can be used to comment the `RUN`
command out.

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

No branches or pull requests

2 participants