Module cubecl_core::frontend
source · Expand description
Cube Frontend Types.
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_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
UInt
. Can only be acted on atomically. An atomic unsigned int. - Encapsulates a value to signify it must be used at compilation time rather than in the kernel
- Expand type associated with a type.
- 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.
- Tensor representation with a reference to the server handle, the strides and the shape.
- An unsigned int. Preferred for indexing operations
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
- Type that can be used within Comptime.
- 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 integer. Used as input in int kernels
- 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§
- Fused multiply-add
A*B+C
. - Expand method of fma.
- Perform a reduce all operation across all units in a 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.
Type Aliases§
- Boolean type.