Skip to content

Some SYCL E2E tests should be rewritten into unit-tests #18847

Open
@AlexeySachkov

Description

@AlexeySachkov

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

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions