Expand description
Cube Frontend Types.
Re-exports§
pub use branch::range;
pub use branch::range;
pub use branch::range_stepped;
pub use branch::range_stepped;
pub use branch::RangeExpand;
pub use branch::SteppedRangeExpand;
Modules§
- The position of the working unit in the whole cube kernel, without regards to cubes and axis.
- The index of the working unit in the whole cube kernel along the X axis, without regards to cubes.
- The index of the working unit in the whole cube kernel along the Y axis, without regards to cubes.
- The index of the working unit in the whole cube kernel along the Z axis, without regards to cubes.
- The number of cubes launched.
- The number of cubes launched along the X axis.
- The number of cubes launched along the Y axis.
- The number of cubes launched along the Z axis.
- The total amount of working units in a cube.
- The dimension of the cube along the X axis.
- The dimension of the cube along the Y axis.
- The dimension of the cube along the Z axis.
- The cube position, without regards to axis.
- The cube position along the X axis.
- The cube position along the Y axis.
- The cube position along the Z axis.
- The total amount of working units in a subcube.
- The position of the working unit inside the cube, without regards to axis.
- The position of the working unit inside the cube along the X axis.
- The position of the working unit inside the cube along the Y axis.
- The position of the working unit inside the cube along the Z axis.
- This module exposes cooperative matrix-multiply and accumulate operations.
- Module containing the expand function for subcube_all().
- Module containing the expand function for subcube_any().
- Module containing the expand function for subcube_broadcast().
- Module containing the expand function for subcube_elect().
- Module containing the expand function for subcube_max().
- Module containing the expand function for subcube_min().
- Module containing the expand function for subcube_prod().
- Module containing the expand function for subcube_sum().
Structs§
- A contiguous array of elements.
- Tensor representation with a reference to the server handle.
- An unsigned atomic integer. Can only be acted on atomically.
- An unsigned atomic integer. Can only be acted on atomically.
- An atomic version of
u32
. Can only be acted on atomically. An atomic unsigned int. - Expand type associated with a type.
- A contiguous list of elements that supports auto-vectorized operations.
- It is similar to a map, but where the keys are stored at comptime, but the values can be runtime variables.
- A sequence of cube types that is inlined during compilation.
- Expand type of Sequence.
- A read-only contiguous list of elements
- A read-write contiguous list of elements.
- The tensor type is similar to the array type, however it comes with more metadata such as stride and shape.
- Compilation argument for a tensor.
- Tensor representation with a reference to the server handle, the strides and the shape.
Enums§
- Reference to a JIT variable
- Argument to be used for tensors passed as arguments to kernels.
Constants§
- The position of the working unit in the whole cube kernel, without regards to cubes and axis.
- The index of the working unit in the whole cube kernel along the X axis, without regards to cubes.
- The index of the working unit in the whole cube kernel along the Y axis, without regards to cubes.
- The index of the working unit in the whole cube kernel along the Z axis, without regards to cubes.
- The number of cubes launched.
- The number of cubes launched along the X axis.
- The number of cubes launched along the Y axis.
- The number of cubes launched along the Z axis.
- The total amount of working units in a cube.
- The dimension of the cube along the X axis.
- The dimension of the cube along the Y axis.
- The dimension of the cube along the Z axis.
- The cube position, without regards to axis.
- The cube position along the X axis.
- The cube position along the Y axis.
- The cube position along the Z axis.
- The total amount of working units in a subcube.
- The position of the working unit inside the cube, without regards to axis.
- The position of the working unit inside the cube along the X axis.
- The position of the working unit inside the cube along the Y axis.
- The position of the working unit inside the cube along the Z axis.
Traits§
- Defines the argument settings used to launch a kernel.
- An atomic type. Represents an shared value that can be operated on atomically.
- Enables reinterpet-casting/bitcasting from any floating point value to any integer value and vice versa
- Extension trait for bool.
- Enable elegant casting from any to any CubeElem
- Fake indexation so we can rewrite indexes into scalars as calls to this fake function in the non-expanded function
- Form of CubeType that encapsulates all primitive types: Numeric, UInt, Bool
- Types used in a cube function must implement this trait
- Floating point numbers. Used as input in float kernels
- Trait to be implemented by cube types implementations.
- Signed or unsigned integer. Used as input in int kernels
- Trait useful for cube types that are also used with comptime.
- Defines a type that can be used as argument to a kernel.
- Defines how a launch argument can be expanded.
- Type that encompasses both (unsigned or signed) integers and floats Used in kernels that should work for both.
- Similar to ArgSettings, however only for scalar types that don’t depend on the Runtime trait.
Functions§
- Bulk copy
length
elements between two array-likes without intermediates. - Fused multiply-add
A*B+C
. - Expand method of fma.
- Executes both branches, then selects a value based on the condition. This should be branchless, but might depend on the compiler.
- Same as [select] but with lines instead.
- Perform a reduce all operation across all units in a subcube.
- Perform a reduce any operation across all units in a subcube.
- Broadcasts the value from the specified subcube unit at the given index to all active units within that subcube.
- Returns true if the cube unit has the lowest subcube_unit_id among active unit in the subcube
- Perform a reduce max operation across all units in a subcube.
- Perform a reduce min operation across all units in a subcube.
- Perform a reduce prod operation across all units in a subcube.
- Perform a reduce sum operation across all units in a subcube.
- Cubecl intrinsic. Gets the vectorization factor of an element at compile time.