intel / intel/llvm

Some SYCL E2E tests should be rewritten into unit-tests

Open
#18,847 1 comment 3 reactions 0 assignees View on GitHub
confirmed good first issue
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.