intel / intel/llvm

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

Open
#14,473 3 comments 0 reactions 0 assignees View on GitHub
bug sycl-graph
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### 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:
* Linux Gen 12 in `Explicit/host_task_last` - https://github.com/intel/llvm/issues/14350
* Windows Gen 12 in `Explicit\host_task_single.cpp` - https://github.com/intel/llvm/pull/13802

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_

Contributor guide

Open the contributing guide

Research direction

Start with the SYCL-Graph E2E cases named in Explicit/host_task_last and Explicit/host_task_single.cpp, running them on the Level Zero backend with UR_L0_LEAKS_DEBUG=1. Trace the host-task and immediate-command-list combination and identify the disabled tests affected; done means the relevant tests run without the reported context, queue, module, kernel, or event-pool leaks.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.