How oneapi-src/level-zero works
Level Zero provides a C API for applications to discover devices and use compute, system-management, and tooling facilities through a loader that discovers drivers and dispatches API calls. Optional validation and tracing layers inspect or observe calls; drivers provide the device-specific implementation. The README identifies the API headers, loader, validation layer, and tracing layer as the repository’s main components. Layer-to-loader wiring is represented at a high level because the sampled excerpts do not show its complete setup.
Main entry points: ze_loader_api.cpp Loader API entry · ze_ldrddi.cpp Loader dispatch · ze_validation_layer.cpp Validation layer · driver_discovery.h Driver discovery
Components 17
API surface
- Level Zero APIs
include/ze_api.h - System management API
include/zes_api.h - Tools API
include/zet_api.h
Loader and dispatch
- Loader API entry
source/loader/ze_loader_api.cpp - Driver discovery
source/loader/driver_discovery.h - Loader dispatch
source/loader/ze_ldrddi.cpp - Sysman dispatch
source/loader/zes_ldrddi.cpp - Tools dispatch
source/loader/zet_ldrddi.cpp
Runtime layers
- Validation layer
source/layers/validation/ze_validation_layer.cpp - Parameter checks
source/layers/validation/checkers/parameter_validation/ze_parameter_validation.cpp - Handle lifetime checks
source/layers/validation/handle_lifetime_tracking/ze_handle_lifetime.cpp - Runtime checkers
source/layers/validation/checkers - Tracing layer
source/layers/tracing/ze_tracing_layer.cpp - Tracer callbacks
source/layers/tracing/ze_tracing_register_cb.cpp
Driver implementations
- Device driver
- Null driver
source/drivers/null/ze_null.cpp
Other components
- Application
Connections 19
- Application → Level Zero APIs: uses API
- Application → Loader API entry: calls
- Loader API entry → Driver discovery: discovers drivers
- Loader API entry → Loader dispatch: dispatches calls
- Loader API entry → Sysman dispatch: dispatches Sysman
- Loader API entry → Tools dispatch: dispatches Tools
- Loader dispatch → Device driver: forwards calls
- Sysman dispatch → Device driver: forwards calls
- Tools dispatch → Device driver: forwards calls
- Driver discovery → Device driver: finds drivers
- Null driver → Device driver: example implementation
- Application → System management API: uses Sysman
- Application → Tools API: uses Tools
- Validation layer → Parameter checks: checks parameters
- Validation layer → Handle lifetime checks: checks handles
- Validation layer → Runtime checkers: runs checkers
- Tracing layer → Tracer callbacks: registers callbacks
- Loader dispatch → Validation layer: may route through
- Loader dispatch → Tracing layer: may route through