Skip to main content

Crate cubecl_runtime

Crate cubecl_runtime 

Source
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
CubeCL config 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.