Level Zero Interface
The oneL0 submodule provides low-level access to the Level Zero API, which gives you fine-grained control over the hardware.
Drivers and Devices
You can enumerate available drivers and devices:
using oneAPI.oneL0# Get available driversdrvs = drivers()# Get devices for a driverdevs = devices(first(drvs))# Inspect device propertiesprops = compute_properties(first(devs))println("Max workgroup size: ", props.maxTotalGroupSize)Contexts and Queues
Manage contexts and command queues for executing operations:
# Create a contextctx = ZeContext(first(drvs))# Create a command queuequeue = ZeCommandQueue(ctx, first(devs))# Execute a command listexecute!(queue) do list append_barrier!(list)endMemory Operations
You can perform low-level memory operations using command lists:
execute!(queue) do list append_copy!(list, dst_ptr, src_ptr, size)end