Re-exports§
pub use cubecl_linalg as linalg;
Modules§
- benchmark
- Module for benchmarking any executable part
- channel
- Compute channel module.
- client
- Compute client module.
- codegen
- compute
- frontend
- Cube Frontend Types.
- future
- Future utils with a compatible API for native, non-std and wasm environments.
- ir
- Cube Language Internal Representation.
- prelude
- server
- Compute server module.
- tune
- Autotune module
Macros§
- comment
- Insert a literal comment into the kernel source code.
- comptime
- Mark the contents of this macro as compile time values, turning off all expansion for this code and using it verbatim
- cpa
- Cube Pseudo Assembly.
- debug_
print - Print a formatted message using the target’s debug print facilities. The format string is target specific, but Vulkan and CUDA both use the C++ conventions. WGSL isn’t currently supported.
- debug_
print_ expand - Print a formatted message using the target’s debug print facilities. The format string is target specific, but Vulkan and CUDA both use the C++ conventions. WGSL isn’t currently supported.
- unexpanded
Structs§
- CubeDim
- Execution
- Inplace
Mapping - Simply indicate the output that can be replaced by the input.
- Kernel
Expansion - The information necessary to compile a kernel definition.
- Kernel
Id - Kernel unique identifier.
- Kernel
Integrator - The kernel integrator allows you to create a kernel definition based on kernel expansion and kernel settings.
- Kernel
Settings - Metadata
- Helper to calculate metadata offsets based on buffer count and position
- Metadata
Builder - Builder for a serialized metadata struct
- flex32
- A floating point type with relaxed precision, minimum
f16
, max [f32
]. - tf32
- A 19-bit floating point type implementing the
tfloat32
format.
Enums§
- Atomic
Feature - Cube
Count - Specifieds the number of cubes to be dispatched for a kernel.
- Cube
Count Settings - The position of the input or output to calculate the number of cubes to launch.
- Execution
Mode - The kind of execution to be performed.
- Feature
- Every feature that can be supported by a cube runtime.
- Input
Info - Information related to an input.
- Memory
Configuration - High level configuration of memory management.
- Output
Info - Information related to an output.
Constants§
- PLANE_
DIM_ APPROX - An approximation of the plane dimension.
Traits§
- Compiler
- Compiles the representation into its own representation that can be formatted into tokens.
- Compiler
Representation - Trait for compiled code representation
- Cube
Element - The base element trait for the jit backend.
- Kernel
- Implement this trait to create a kernel definition.
- Runtime
- Runtime for the CubeCL.
Functions§
- bool_
elem - calculate_
cube_ count_ elemwise - Calculate the number of cubes required to execute an operation where one cube unit is assigned to one element.
- calculate_
num_ elems_ dyn_ rank - tensor_
line_ size - tensor_
line_ size_ parallel - Find the maximum line size usable for parallel vectorization along the given axis from the supported line sizes or return 1 if vectorization is impossible.
- tensor_
line_ size_ perpendicular - Find the maximum line size usable for perpendicular vectorization along the given axis from the supported line sizes or return 1 if vectorization is impossible.
- tensor_
vectorization_ factor
Type Aliases§
- Runtime
Arg - Runtime arguments to launch a kernel.
Attribute Macros§
- cube
- Mark a cube function, trait or implementation for expansion.
- tune
- Crates a tuning set with a specific signature. Should return a tuple of benchmark inputs.
Derive Macros§
- Autotune
Key - Implements display and initialization for autotune keys.
- Cube
Launch - Derive macro to define a cube type that is launched with a kernel
- Cube
Type - Derive macro to define a cube type that is not launched