Crate cubecl_ir

Crate cubecl_ir 

Source

Modules§

features

Structs§

Allocator
An allocator for local variables of a kernel.
BinaryOperator
ClampOperator
CompareAndSwapOperator
ContiguousElements
CopyMemoryBulkOperator
CopyMemoryOperator
CubeFnSource
A cube function’s source
DebugInfo
Debug related fields, most of these are global
DeviceProperties
Properties of what the device can do, like what Feature are supported by it and what its memory properties are.
FmaOperator
HardwareProperties
Properties of the device related to the accelerator hardware.
If
IfElse
IndexAssignOperator
IndexOperator
Instruction
An instruction that contains a right hand side Operation and an optional out variable.
InstructionModes
Modes set and reset during expansion
LineInitOperator
Loop
Matrix
MemoryDeviceProperties
Properties of the device related to allocation.
MmaProperties
RangeLoop
ReadGlobalOperator
ReadGlobalWithLayoutOperator
ReinterpretSliceOperator
Scope
The scope is the main operation and variable container that simplify the process of reading inputs, creating local variables and adding new operations.
ScopeProcessing
Information necessary when compiling a scope.
Select
SliceOperator
SourceLoc
A Rust source location, including the file, line and column
Switch
TargetProperties
Hacky solution for getting comptime properties into the scope. Allows querying certain target-specific properties at compile time, rather than at runtime. Review on how to better solve this and delegate to the compiler if possible.
UnaryOperator
ValidationErrors
Variable

Enums§

AddressType
The type used for addressing storage types in a kernel. This is the type usize maps to when used in a kernel, with isize being mapped to the signed equivalent.
Arithmetic
Arithmetic operations
ArithmeticOpCode
AtomicOp
Operations that operate on atomics
AtomicOpCode
BarrierLevel
BarrierOpCode
BarrierOps
Operations available on a barrier
Bitwise
Bitwise operations
BitwiseOpCode
Branch
All branching types.
BranchOpCode
Builtin
CmmaOpCode
Comparison
Comparison operations
ComparisonOpCode
ConstantValue
The scalars are stored with the highest precision possible, but they might get reduced during compilation. For constant propagation, casts are always executed before converting back to the larger type to ensure deterministic output.
CoopMma
Cooperative Matrix-Multiply and Accumulate Instruction.
ElemType
Conceptual element type, not necessarily the physical type used in the code
ExpandElement
Reference to a JIT variable
FastMath
Unchecked optimizations for float operations. May cause precision differences, or undefined behaviour if the relevant conditions are not followed.
FloatKind
IntKind
Marker
Operations that don’t change the semantics of the kernel. In other words, operations that do not perform any computation, if they run at all. i.e. println, comments and debug symbols.
MarkerOpCode
MatrixIdent
MatrixLayout
Metadata
All metadata that can be accessed in a shader.
MetadataOpCode
NonSemantic
Operations that don’t change the semantics of the kernel. In other words, operations that do not perform any computation, if they run at all. i.e. println, comments and debug symbols.
NonSemanticOpCode
OpCode
OpaqueType
Operation
All operations that can be used in a GPU compute shader.
Operator
Operators available on the GPU
OperatorOpCode
Plane
All plane operations.
PlaneOpCode
ReadingStrategy
SemanticType
StorageType
Physical type containing one or more elements
SyncOpCode
Synchronization
All synchronization types.
TmaOpCode
TmaOps
Operations available on a barrier
Type
UIntKind
VariableKind

Traits§

FromArgList
Types that can be destructured into and created from a list of Variables.
OperationArgs
A type that represents an operation’s arguments
OperationReflect
An operation that can be reflected on
Processor
TypeHash
A hash of a type’s structure

Functions§

fmt_vararg

Type Aliases§

Id
LineSize
TypeMap