Some SYCL E2E tests should be rewritten into unit-tests
- Dominant language
- LLVM
- Stars
- 1.5k
- Forks
- 854
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 137
Description
We have some E2E tests which can and should be rewritten into unit-tests to speed up testing.
E2E tests are expensive, because they do full host + device compilation and then run repeatedly for every target that we have in our CI environment.
Tests below are checking that the right UR APIs were invoked, without checking anything else. That is exactly what unit-tests are for:
- `Basic/fill_accessor_ur.cpp`
- `Basic/buffer/subbuffer_overlap.cpp`
- `Basic/buffer/native_buffer_creation_flags.cpp`
- `Basic/alloc_pinned_host_memory.cpp`
- `Basic/use_pinned_host_memory`
- `Scheduler/MemObjRemapping.cpp`
- `Scheduler/SubBufferRemapping.cpp`
- `Scheduler/InOrderQueueDeps.cpp`
- `EnqueueFunctions/barrier.cpp`
- `EnqueueFunctions/prefetch.cpp`
- `EnqueueFunctions/mem_advise.cpp`
Tests below check L0 API calls which is a too low-level detail for SYCL tests, they should be moved into UR tests:
- `Basic/buffer/buffer_create.cpp`
- `Adapters/level_zero/batch_barrier.cpp`
- `Adapters/level_zero/barrier_optimization.cpp`
- `Adapters/level_zero/batch_test.cpp`
- `Adapters/queue_submit_mode.cpp`
Tests below do lots of things which do not require an actual device (i.e. they test host APIs) and therefore they can be moved into unit-tests:
- `Basic/kernel_bundle/kernel_bundle_api.cpp`
- `Basic/subdevice_pi.cpp`
- `Basic/build_log.cpp`
- Basic/diagnostics/handler.cpp`
Tests below seemingly check nothing at all:
- `Basic/queue_priority.cpp`
Contributor guide
Assessment
This issue has not been assessed yet.