Skip to main content

Module frontend

Module frontend 

Source
Expand description

Cube Frontend Types.

Re-exports§

pub use asm::*;
pub use branch::*;
pub use synchronization::*;
pub use trigonometry::*;

Modules§

ABSOLUTE_POS
The position of the working unit in the whole cube kernel, without regards to cubes and axis.
ABSOLUTE_POS_X
The index of the working unit in the whole cube kernel along the X axis, without regards to cubes.
ABSOLUTE_POS_Y
The index of the working unit in the whole cube kernel along the Y axis, without regards to cubes.
ABSOLUTE_POS_Z
The index of the working unit in the whole cube kernel along the Z axis, without regards to cubes.
CUBE_CLUSTER_DIM
The total amount of cubes in a cluster.
CUBE_CLUSTER_DIM_X
The dimension of the cluster along the X axis.
CUBE_CLUSTER_DIM_Y
The dimension of the cluster along the Y axis.
CUBE_CLUSTER_DIM_Z
The dimension of the cluster along the Z axis.
CUBE_COUNT
The number of cubes launched.
CUBE_COUNT_X
The number of cubes launched along the X axis.
CUBE_COUNT_Y
The number of cubes launched along the Y axis.
CUBE_COUNT_Z
The number of cubes launched along the Z axis.
CUBE_DIM
The total amount of working units in a cube.
CUBE_DIM_X
The dimension of the cube along the X axis.
CUBE_DIM_Y
The dimension of the cube along the Y axis.
CUBE_DIM_Z
The dimension of the cube along the Z axis.
CUBE_POS
The cube position, without regards to axis.
CUBE_POS_CLUSTER
The cube position within the cluster.
CUBE_POS_CLUSTER_X
The cube position in the cluster along the X axis.
CUBE_POS_CLUSTER_Y
The cube position in the cluster along the Y axis.
CUBE_POS_CLUSTER_Z
The cube position in the cluster along the Z axis.
CUBE_POS_X
The cube position along the X axis.
CUBE_POS_Y
The cube position along the Y axis.
CUBE_POS_Z
The cube position along the Z axis.
PLANE_DIM
The total amount of working units in a plane.
PLANE_POS
The position of the plane within the cube (plane/warp/subgroup index).
UNIT_POS
The position of the working unit inside the cube, without regards to axis.
UNIT_POS_PLANE
The relative position of the working unit inside the plane, without regards to cube dimensions.
UNIT_POS_X
The position of the working unit inside the cube along the X axis.
UNIT_POS_Y
The position of the working unit inside the cube along the Y axis.
UNIT_POS_Z
The position of the working unit inside the cube along the Z axis.
asm
assign
barrier
This module exposes barrier for asynchronous data transfer
branch
buffer_len
clamp
clamp_max
clamp_min
clamp_nan
Expansion of clamp_nan().
cmma
This module exposes cooperative matrix-multiply and accumulate operations.
comptime
Module containing compile-time information about the current runtime.
comptime_error
copy
copy_bulk
cube_comment
div_ceil
dp4a
Expand method of dp4a().
elem_type_of
fma
Expand method of fma().
index
index_mut
max
max_nan
Expansion of max_nan().
min
min_nan
Expansion of min_nan().
not
plane_all
Module containing the expand function for plane_all().
plane_any
Module containing the expand function for plane_any().
plane_ballot
Module containing the expand function for plane_ballot().
plane_broadcast
Module containing the expand function for plane_broadcast().
plane_elect
Module containing the expand function for plane_elect().
plane_exclusive_prod
Module containing the expand function for plane_exclusive_prod().
plane_exclusive_sum
Module containing the expand function for plane_exclusive_sum().
plane_inclusive_prod
Module containing the expand function for plane_inclusive_prod().
plane_inclusive_sum
Module containing the expand function for plane_inclusive_sum().
plane_max
Module containing the expand function for plane_max().
plane_min
Module containing the expand function for plane_min().
plane_prod
Module containing the expand function for plane_prod().
plane_shuffle
Module containing the expand function for plane_shuffle().
plane_shuffle_down
Module containing the expand function for plane_shuffle_down().
plane_shuffle_up
Module containing the expand function for plane_shuffle_up().
plane_shuffle_xor
Module containing the expand function for plane_shuffle_xor().
plane_sum
Module containing the expand function for plane_sum().
polyfills
push_validation_error
range
range_stepped
select
select_many
slice
sub
synchronization
tma_group_commit
tma_group_wait
tma_group_wait_read
tma_store_1d
tma_store_2d
tma_store_3d
tma_store_4d
tma_store_5d
trigonometry

Macros§

__expand_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.
__expand_seq
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.
define
define_scalar
Define a custom type to be used for a comptime scalar type. Useful for cases where generics can’t work.
define_size
Define a custom type to be used for a comptime size. Useful for cases where generics can’t work.
expand_assert
expand_error
seq
size
unexpanded

Structs§

Array
A contiguous array of elements.
Atomic
An atomic numerical type wrapping a normal numeric primitive. Enables the use of atomic operations, while disabling normal operations. In WGSL, this is a separate type - on CUDA/SPIR-V it can theoretically be bitcast to a normal number, but this isn’t recommended.
BufferBinding
Buffer representation with a reference to the server handle.
BufferCompilationArg
ComptimeCell
A cell that can store and mutate a cube type during comptime.
ComptimeCellExpand
Expand type of ComptimeCell.
Const
DynamicScalar
A fake element type that can be configured to map to any other element type.
DynamicSize
A fake constant type that can be configured to map to any comptime value.
Im2col
Im2col indexing. Loads a “column” (not the same column as im2col) of pixels into shared memory, with a certain offset (kernel position). The corners are the bounds to load pixels from at offset 0, so the top left corner of the kernel. The offset is added to the corner offsets, so a (-1, -1) corner will stop the bounding box at (1, 1) for kernel offset (2, 2).
Im2colArgs
Args for im2col tensor maps
Im2colCompilationArg
Im2colExpand
Im2colLaunch
Im2colWide
1D im2col, not properly supported yet
Im2colWideArgs
Args for im2col wide tensor maps
Im2colWideCompilationArg
Im2colWideExpand
Im2colWideLaunch
InputScalar
A way to define an input scalar without a generic attached to it.
InputScalarCompilationArg
InputScalarExpand
NativeExpand
Expand type of a native GPU type, i.e. scalar primitives, arrays, shared memory.
OptionExpand
OrderingExpand
OwnedTensor
OwnedTensorExpand
RangeExpand
RangeFromExpand
RangeFullExpand
RangeInclusiveExpand
RangeToExpand
RangeToInclusiveExpand
ReadOnly
ReadWrite
Registry
It is similar to a map, but where the keys are stored at comptime, but the values can be runtime variables.
RuntimeCell
RuntimeCellExpand
Sequence
A sequence of cube types that is inlined during compilation.
SequenceArg
SequenceCompilationArg
SequenceExpand
Expand type of Sequence.
Shared
SteppedRangeExpand
Tensor
The tensor type is a wrapper around [T] that comes with more metadata such as stride and shape.
TensorBinding
Tensor representation with a reference to the server handle, the strides and the shape.
TensorCompilationArg
Compilation argument for a tensor.
TensorExpand
TensorLayout
TensorMap
A CUDA CUtensorMap object. Represents a tensor encoded with a lot of metadata, and is an opaque packed object at runtime. Does not support retrieving any shapes or strides, nor does it give access to the pointer. So these need to be passed separately in an aliased Tensor if needed.
TensorMapArg
Grid constant tensor map, currently only maps to CUDA tensormap. May be interleaved or swizzled, but last dimension must be contiguous (since strides don’t include the last dimension).
TensorMeta
TensorMetaCompilationArg
TensorMetaExpand
TensorMetaLaunch
TensorReinterpret
TensorView
TensorViewBuilder
TensorViewBuilderCompilationArg
TensorViewBuilderExpand
TensorViewBuilderLaunch
TensorViewExpand
Tiled
Regular tiled tensor map
TiledArgs
Args for tiled tensor maps
TiledCompilationArg
TiledExpand
TiledLaunch
Vector
A contiguous list of elements that supports auto-vectorized operations.

Enums§

BufferArg
ComptimeOption
ComptimeOptionArgs
ComptimeOptionCompilationArg
ComptimeOptionExpand
OobFill
What value to use when filling out of bounds values
OptionArgs
OptionCompilationArg
TensorArg
Argument to be used for tensors passed as arguments to kernels.
TensorClampMode
TensorMapFormat
Format of TensorMap
TensorMapInterleave
Interleave setting for TensorMap
TensorMapPrefetch
Additional prefetching to perform during load Specifies L2 fetch size which indicates the byte granularity at which L2 requests are filled from DRAM
TensorMapSwizzle
Data are organized in a specific order in global memory; however, this may not match the order in which the application accesses data in shared memory. This difference in data organization may cause bank conflicts when shared memory is accessed. In order to avoid this problem, data can be loaded to shared memory with shuffling across shared memory banks. When interleave is TensorMapInterleave::B32, swizzle must be TensorMapSwizzle::B32. Other interleave modes can have any swizzling pattern.

Constants§

ABSOLUTE_POS
The position of the working unit in the whole cube kernel, without regards to cubes and axis.
ABSOLUTE_POS_X
The index of the working unit in the whole cube kernel along the X axis, without regards to cubes.
ABSOLUTE_POS_Y
The index of the working unit in the whole cube kernel along the Y axis, without regards to cubes.
ABSOLUTE_POS_Z
The index of the working unit in the whole cube kernel along the Z axis, without regards to cubes.
CUBE_CLUSTER_DIM
The total amount of cubes in a cluster.
CUBE_CLUSTER_DIM_X
The dimension of the cluster along the X axis.
CUBE_CLUSTER_DIM_Y
The dimension of the cluster along the Y axis.
CUBE_CLUSTER_DIM_Z
The dimension of the cluster along the Z axis.
CUBE_COUNT
The number of cubes launched.
CUBE_COUNT_X
The number of cubes launched along the X axis.
CUBE_COUNT_Y
The number of cubes launched along the Y axis.
CUBE_COUNT_Z
The number of cubes launched along the Z axis.
CUBE_DIM
The total amount of working units in a cube.
CUBE_DIM_X
The dimension of the cube along the X axis.
CUBE_DIM_Y
The dimension of the cube along the Y axis.
CUBE_DIM_Z
The dimension of the cube along the Z axis.
CUBE_POS
The cube position, without regards to axis.
CUBE_POS_CLUSTER
The cube position within the cluster.
CUBE_POS_CLUSTER_X
The cube position in the cluster along the X axis.
CUBE_POS_CLUSTER_Y
The cube position in the cluster along the Y axis.
CUBE_POS_CLUSTER_Z
The cube position in the cluster along the Z axis.
CUBE_POS_X
The cube position along the X axis.
CUBE_POS_Y
The cube position along the Y axis.
CUBE_POS_Z
The cube position along the Z axis.
PLANE_DIM
The total amount of working units in a plane.
PLANE_POS
The position of the plane within the cube (plane/warp/subgroup index).
UNIT_POS
The position of the working unit inside the cube, without regards to axis.
UNIT_POS_PLANE
The relative position of the working unit inside the plane, without regards to cube dimensions.
UNIT_POS_X
The position of the working unit inside the cube along the X axis.
UNIT_POS_Y
The position of the working unit inside the cube along the Y axis.
UNIT_POS_Z
The position of the working unit inside the cube along the Z axis.

Traits§

Abs
AbsExpand
AbsNativeExpand
AddAssignExpand
AddExpand
AddNativeExpand
AndExpand
ArcCos
ArcCosExpand
ArcCosNativeExpand
ArcCosh
ArcCoshExpand
ArcCoshNativeExpand
ArcSin
ArcSinExpand
ArcSinNativeExpand
ArcSinh
ArcSinhExpand
ArcSinhNativeExpand
ArcTan
ArcTan2
ArcTan2Expand
ArcTan2NativeExpand
ArcTanExpand
ArcTanNativeExpand
ArcTanh
ArcTanhExpand
ArcTanhNativeExpand
AsDerefExpand
AsDerefMutExpand
AsMutExpand
Expand version of AsMut. The Self version must be implemented by all ExpandTypes, since CubeCL also uses it to implement &mut x.
AsRefExpand
Expand version of AsRef. Like AsRef<Self> it’s implemented for all ExpandTypes. This is called when the Rust code uses &x.
Assign
AtomicNumeric
BitAndAssignExpand
BitAndExpand
BitAndNativeExpand
BitOrAssignExpand
BitOrExpand
BitOrNativeExpand
BitXorAssignExpand
BitXorExpand
BitXorNativeExpand
BoolOps
Extension trait for bool.
CanReadValue
Cast
Enable elegant casting from any to any CubeElem
Ceil
CeilExpand
CeilNativeExpand
CloneExpand
CompilationArg
Argument used during the compilation of kernels.
ComplexAbs
ComplexAbsExpand
ComplexAbsNativeExpand
ComplexCompare
ComplexCore
ComplexCoreExpand
ComplexMath
ComplexNativeExpand
Cos
CosExpand
CosNativeExpand
Cosh
CoshExpand
CoshNativeExpand
CountOnes
CountOnesExpand
CubeAdd
CubeAddAssign
CubeAnd
CubeBitAnd
CubeBitAndAssign
CubeBitOr
CubeBitOrAssign
CubeBitXor
CubeBitXorAssign
CubeComptime
A type that can be used as a kernel comptime argument. Note that a type doesn’t need to implement CubeComptime to be used as a comptime argument. However, this facilitate the declaration of generic cube types.
CubeDebug
CubeDiv
CubeDivAssign
CubeEnum
CubeIndex
Trait bound that can be used to guarantee the expand also implements IndexExpand
CubeIndexMut
CubeMul
CubeMulAssign
CubeNeg
CubeNot
CubeOption
Extensions for Option
CubeOptionDefault
Extensions for Option that require default
CubeOr
CubeOrd
CubeOrdering
CubePartialEq
CubePartialOrd
CubePrimitive
Form of CubeType that encapsulates all primitive types: Numeric, UInt, Bool
CubePrimitiveExpand
CubeRem
CubeRemAssign
CubeShl
CubeShlAssign
CubeShr
CubeShrAssign
CubeSub
CubeSubAssign
CubeType
Types used in a cube function must implement this trait
DefaultExpand
Degrees
DegreesExpand
DegreesNativeExpand
DerefExpand
CubeCL version of Deref. Unlike those traits, this trait produces owned values directly. Maps to *x.
DivAssignExpand
DivCeil
DivCeilExpand
DivExpand
DivNativeExpand
Dot
DotExpand
DotNativeExpand
Erf
ErfExpand
ErfNativeExpand
Exp
ExpExpand
ExpNativeExpand
ExpandTypeClone
Expm1
Expm1Expand
Expm1NativeExpand
FindFirstSet
FindFirstSetExpand
Float
Floating point numbers. Used as input in float kernels
FloatBits
FloatBitsExpand
FloatOps
FloatOpsExpand
Floor
FloorExpand
FloorNativeExpand
HasValue
Hypot
HypotExpand
HypotNativeExpand
IndexExpand
IndexMutExpand
Int
Signed or unsigned integer. Used as input in int kernels
IntoComptime
Trait for marking a function return value as comptime when the compiler can’t infer it.
IntoExpand
IntoMut
Convert an expand type to a version with mutable registers when necessary.
IntoRuntime
Trait useful to convert a comptime value into runtime value.
InverseSqrt
InverseSqrtExpand
InverseSqrtNativeExpand
IsInf
IsInfExpand
IsNan
IsNanExpand
LaunchArg
Defines how a launch argument can be expanded.
LeadingZeros
LeadingZerosExpand
List
Type from which we can read/to which we can write values in cube functions.
ListExpand
Type from which we can read/to which we can write values in cube functions.
Log
Log1p
Log1pExpand
Log1pNativeExpand
LogExpand
LogNativeExpand
Magnitude
MagnitudeExpand
MagnitudeNativeExpand
ModFloor
ModFloorExpand
ModFloorNativeExpand
MulAssignExpand
MulExpand
MulHi
MulHiExpand
MulHiNativeExpand
MulNativeExpand
NativeAssign
Trait for native types that can be assigned. For non-native composites, use the normal Assign.
NativeCubeType
NegExpand
NegNativeExpand
Normalize
NormalizeExpand
NotExpand
Numeric
Type that encompasses both (unsigned or signed) integers and floats Used in kernels that should work for both.
OneExpand
OptionExt
OrExpand
OrdExpand
OrdNativeExpand
PartialEqExpand
PartialEqNativeExpand
PartialOrdExpand
PartialOrdNativeExpand
PlaneNumeric
Powf
PowfExpand
PowfNativeExpand
Powi
PowiExpand
Radians
RadiansExpand
RadiansNativeExpand
ReadValue
Read a value into registers. Should only be implemented for types that can exist outside of memory like primitives or Array, but not for things like Barrier that must exist behind a pointer.
Recip
RecipExpand
RecipNativeExpand
RegistryQuery
To find an item from the registry, the query must be able to be translated to the actual key type.
Reinterpret
Enables reinterpetring the bits from any value to any other type of the same size.
RemAssignExpand
RemExpand
RemNativeExpand
ReverseBits
ReverseBitsExpand
ReverseBitsNativeExpand
Rhypot
RhypotExpand
RhypotNativeExpand
Round
RoundExpand
RoundNativeExpand
RuntimeAssign
SaturatingAdd
SaturatingAddExpand
SaturatingAddNativeExpand
SaturatingSub
SaturatingSubExpand
SaturatingSubNativeExpand
Scalar
Marker trait for scalar primitives. Should be implemented for all scalar CubePrimitives, but not for Vector or non-standard primitives like Barrier. Alternatively, treat these as types that can be stored in a [Vector]
ScalarAbs
ScalarAdd
ScalarArcCos
ScalarArcCosh
ScalarArcSin
ScalarArcSinh
ScalarArcTan
ScalarArcTan2
ScalarArcTanh
ScalarArgSettings
Similar to [ArgSettings], however only for scalar types that don’t depend on the [Runtime] trait.
ScalarBitAnd
ScalarBitOr
ScalarBitXor
ScalarCeil
ScalarCos
ScalarCosh
ScalarDegrees
ScalarDiv
ScalarDot
ScalarErf
ScalarExp
ScalarExpm1
ScalarFloor
ScalarHypot
ScalarInverseSqrt
ScalarLog
ScalarLog1p
ScalarMagnitude
ScalarModFloor
ScalarMul
ScalarMulHi
ScalarNeg
ScalarOrd
ScalarPartialEq
These Scalar traits fix Rust’s broken inference on the Scalar associated type
ScalarPartialOrd
ScalarPowf
ScalarRadians
ScalarRecip
ScalarRem
ScalarReverseBits
ScalarRhypot
ScalarRound
ScalarSaturatingAdd
ScalarSaturatingSub
ScalarShl
ScalarShr
ScalarSin
ScalarSinh
ScalarSqrt
ScalarSub
ScalarTan
ScalarTanh
ScalarTrunc
ScalarVectorSum
ShlAssignExpand
ShlExpand
ShlNativeExpand
ShrAssignExpand
ShrExpand
ShrNativeExpand
Sin
SinExpand
SinNativeExpand
Sinh
SinhExpand
SinhNativeExpand
Size
SizedContainer
SizedContainerExpand
SliceExt
SliceOperator
SliceOperatorExpand
SliceVectorExt
SliceVisibility
Sqrt
SqrtExpand
SqrtNativeExpand
SubAssignExpand
SubExpand
SubNativeExpand
Tan
TanExpand
TanNativeExpand
Tanh
TanhExpand
TanhNativeExpand
TensorMapKind
TrailingZeros
TrailingZerosExpand
Trunc
TruncExpand
TruncNativeExpand
VectorSum
VectorSumExpand
VectorSumNativeExpand
Vectorized
VectorizedExpand
ZeroExpand

Functions§

__expand_assign
__expand_deref
broadcast_value
cast_value
clamp_nan
Clamp a float scalar or vector, propagating NaN from the input or either bound.
copy
Copy one element between two array-likes without intermediates.
copy_bulk
Bulk copy length elements between two array-likes without intermediates.
debug_call_expand
Calls a function and inserts debug symbols if debug is enabled.
debug_source_expand
Adds source instruction if debug is enabled
debug_var_expand
Registers name for an expand if possible
div_ceil
dp4a
Packed int8×4 dot-product accumulate: c + Σ a_i * b_i for four signed bytes packed in a/b.
elem_type_of
fast_math_expand
fma
Fused multiply-add A*B+C.
from_raw_parts
init_expand
into_mut_assign
max
The maximum of two values, not requiring Ord. Provided for clarity in certain cases, though clamp_min may sometimes be more clear.
max_nan
Floating-point maximum, propagating NaN from either operand.
min
The minimum of two values, not requiring Ord. Provided for clarity in certain cases, though clamp_max may sometimes be more clear.
min_nan
Floating-point minimum, propagating NaN from either operand.
plane_all
Perform a reduce all operation across all units in a plane.
plane_any
Perform a reduce any operation across all units in a plane.
plane_ballot
Perform a ballot operation across all units in a plane. Returns a set of 32-bit bitfields as a Vector, with each element containing the value from 32 invocations. Note that vector size will always be set to 4 even for PLANE_DIM <= 64, because we can’t retrieve the actual plane size at expand time. Use the runtimePLANE_DIM to index appropriately.
plane_broadcast
Broadcasts the value from the specified plane unit at the given index to all active units within that plane. Requires a constant index. For non-constant indices, use plane_shuffle().
plane_elect
Returns true if the cube unit has the lowest plane_unit_id among active unit in the plane
plane_exclusive_prod
Perform an exclusive product operation across all units in a plane. This multiplies all values to the “left” of the unit, excluding this unit’s value. The 0th unit will be set to E::one(). Also known as “exclusive prefix product” or “exclusive scan”.
plane_exclusive_sum
Perform an exclusive sum operation across all units in a plane. This sums all values to the “left” of the unit, excluding this unit’s value. The 0th unit will be set to E::zero(). Also known as “exclusive prefix sum” or “exclusive scan”.
plane_inclusive_prod
Perform an inclusive product operation across all units in a plane. This multiplies all values to the “left” of the unit, including this unit’s value. Also known as “prefix product” or “inclusive scan”.
plane_inclusive_sum
Perform an inclusive sum operation across all units in a plane. This sums all values to the “left” of the unit, including this unit’s value. Also known as “prefix sum” or “inclusive scan”.
plane_max
Perform a reduce max operation across all units in a plane.
plane_min
Perform a reduce min operation across all units in a plane.
plane_prod
Perform a reduce prod operation across all units in a plane.
plane_shuffle
Perform an arbitrary lane shuffle operation across the plane. Each unit reads the value from the specified source lane.
plane_shuffle_down
Perform a shuffle down operation across the plane. Each unit reads the value from a unit with a higher lane ID (current_id + delta). A unit whose lane_id + delta >= plane_dim reads an indeterminate value that differs by backend, so mask those units at the call site.
plane_shuffle_up
Perform a shuffle up operation across the plane. Each unit reads the value from a unit with a lower lane ID (current_id - delta). A unit with lane_id < delta reads an indeterminate value that differs by backend, so mask those units at the call site.
plane_shuffle_xor
Perform a shuffle XOR operation across the plane. Each unit exchanges its value with another unit at an index determined by XOR with the mask. This is useful for butterfly reduction patterns.
plane_sum
Perform a reduce sum operation across all units in a plane.
printf_expand
Prints a formatted message using the print debug layer in Vulkan, or printf in CUDA.
push_validation_error
Push a validation error that will make kernel compilation fail.
range
integer range. Equivalent to:
range_stepped
Stepped range. Equivalent to:
reinterpret_value
select
Executes both branches, then selects a value based on the condition. This should be branchless, but might depend on the compiler.
select_many
Same as select() but with vectors instead.
tma_group_commit
Commit an async tensor operation. Not sure how this works, poor docs. But you need to call it after a write, but not after reads.
tma_group_wait
Wait until at most max_pending TMA copy operations are in flight.
tma_group_wait_read
Wait TMA copy operations have finished reading from shared memory, with at most max_pending operations being unfinished.
tma_store_1d
Copy a tile from a shared memory src to a global memory dst, with the provided offsets. Should be combined with memcpy_async_tensor_commit and memcpy_async_tensor_wait_read.
tma_store_2d
Copy a tile from a shared memory src to a global memory dst, with the provided offsets. Should be combined with memcpy_async_tensor_commit and memcpy_async_tensor_wait_read.
tma_store_3d
Copy a tile from a shared memory src to a global memory dst, with the provided offsets. Should be combined with memcpy_async_tensor_commit and memcpy_async_tensor_wait_read.
tma_store_4d
Copy a tile from a shared memory src to a global memory dst, with the provided offsets. Should be combined with memcpy_async_tensor_commit and memcpy_async_tensor_wait_read.
tma_store_5d
Copy a tile from a shared memory src to a global memory dst, with the provided offsets. Should be combined with memcpy_async_tensor_commit and memcpy_async_tensor_wait_read.
unary_expand
unexpanded_value
uninit_local
Used for let x; local bindings. These are technically immutable in Rust, but because they can be visible at a higher level scope than their assignment we need to allocate a slot of them at that level and treat them as mutable.

Type Aliases§

SharedExpand
SliceExpand