Expand description
The runtime API of CubeCL: what a kernel author compiles against.
A Client reaches a device, a Handle
names memory on it, and a CubeKernel is what a
launch hands over. The Server trait is the contract a
runtime implements, and everything an implementation needs beyond the
contract — memory pools, streams, drivers, the compilation pipeline — lives
in cubecl-server, so that user code never depends on it.
§Error handling
A failure belongs to the memory that work left unwritten and travels the
dataflow from there: nothing here holds error state beside the buffers.
Taint, ErrorGraph, Failures and ExecuteScope in cubecl-server are
the four pieces, and ERROR_HANDLING.md at the repository root is the
argument for why they are shaped that way — read it before changing any of
them.
Modules§
- benchmark
- Module for benchmark timings
- client
- Compute client module.
- compiler
- Compiler trait and related types
- config
CubeCLconfig module.- device
- The device type of each runtime. The device type of each runtime, named without naming the runtime crate.
- dry_run
- Running a workload for the compilation and tuning it provokes, without running the workload itself. Running a workload for the compilation and tuning it provokes, without running the workload itself.
- id
- Various identifier types used in
CubeCL. - kernel
- Kernel related traits.
- launched
- The kernels a workload launches, collected while it replays: what an environment shipped for that workload has to keep, and all it has to.
- logging
- Logging utilities to be used by a compute server.
- memory_
management - Memory management value types: reports, configuration and the managed
handle. The pools behind them are
cubecl-server’s. - runtime
- Runtime trait and related types
- server
- Compute server module.
- storage
- Compute Storage contract.
- throughput
- Throughput related utilities.
- tma
- TMA-related runtime types
- tune
- Autotune module
Macros§
- local_
tuner - Create a local tuner with the provided name.
- storage_
id_ type - Create a new storage ID type.