fix leaks on level-zero interop program and kernel handles
@nrspruit having looked at this code, device -> handle maps for both kernel and programs may have introduced quite a few subtle issues that are hard to detect. This stems from state duplication. We should probably refactor this code so that the native handles are ideally stored only in one place.
/e2e-level-zero
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9207183097
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9207183097 Job status: failure. Test status: failure
SYCL E2E failure is unrelated. It's failing on other PRs as well (e.g., https://github.com/intel/llvm/actions/runs/9206096279/job/25325394817?pr=13892).
@nrspruit having looked at this code, device -> handle maps for both kernel and programs may have introduced quite a few subtle issues that are hard to detect. This stems from state duplication. We should probably refactor this code so that the native handles are ideally stored only in one place.
I started doing some refactor here: https://github.com/oneapi-src/unified-runtime/pull/1607/files
There's also a problem with handling multiple zeKernels that I want to address. It would be good to have a machine where we can test this with multiple devices, tough.
All the test failures are unrelated.
It would be good to have a machine where we can test this with multiple devices
No promises, but hopefully we can add a runner with multiple devices next week.
/e2e-level-zero
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9221320365
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9221320365 Job status: failure. Test status: skipped
/e2e-level-zero
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9221654634
E2E L0 build: https://github.com/oneapi-src/unified-runtime/actions/runs/9221654634 Job status: success. Test status: success