Expand description
§CubeCL Environment Library
A cohesive API over the environment the code runs on: sync/std/thread, async/tokio, async/wasm and no-std.
The crate is organized in pillars:
- Compatibility shims mirroring
stdmodule names:sync,collections,time,thread,future, plusrandandbacktrace. stream: stream identity and policies, including tokio task-stable streams.config: global configuration loading (cubecl.tomland friends).persistence: key-value caches kept up to date in memory and synced to the file system (std), browser storage (wasm) or nothing (no-std).bundle: named environment bundles that ship pre-warmed caches.
Modules§
- backtrace
- Backtrace module to build error reports.
- bundle
- Named environment bundles: ship pre-warmed autotune and compilation caches. Named environment bundles.
- bytes
- Byte buffers with allocation properties, zero-copy views and optional
memory-mapped backing. The type to use for byte payloads, never
Vec<u8>. - collections
- Hash map and set types with the environment’s default hasher.
- config
- Runtime configuration trait shared across crates.
- environment
- Named environments: the local store everything is warmed into, one active at a time. Named environments.
- future
- Future utils with a compatible API for native, non-std and wasm environments.
- persistence
- Key-value persistence: in-memory stores synced to the file system, browser storage or kept memory-only depending on the environment. Key-value persistence.
- rand
- Rand module contains types for random number generation for non-std environments and for std environments.
- stream
- Stream identity, policies and manual stream management. Stream identity, policies and manual stream management.
- sync
- Synchronization primitives working across std, no-std and wasm environments.
- thread
- Thread spawning, on the targets that have threads. Empty elsewhere: use
future::spawn_detached, which is portable. - time
- Time types working across std, wasm and embedded environments.