Skip to main content

Crate t4a_cubecl_ir

Crate t4a_cubecl_ir 

Source

Re-exports§

pub extern crate alloc;

Re-exports§

pub use crate::rewrite::NamedRewrite;
pub use pliron;

Modules§

apfloat
arena
attributes
convert
dialect
features
interfaces
metadata
prelude
rewrite
settings
types

Macros§

AlwaysSpeculatable
CanMaterialize
Commutative
HasSideEffects
NoMemoryEffect
NoSideEffects
PropagatesUniformity
Pure
RecursiveMemoryEffects
RecursiveSideEffects
RecursivelySpeculatable
ReturnLike
SymbolVisibility
aligned
ext_attribute
match_ty
scalar
sized
small_map
small_set
try_cast_op
try_cast_ty
typed_vec_attr
verify_attr_succ
verify_op_succ
verify_ty_succ

Structs§

AdapterLuid
The id Windows gives a graphics adapter. It changes on restart, so it has no serialization or text form: a stored key wants PhysicalDevice::pci_address.
AddressSpaceVecAttr
A vector of other attributes.
BoundsCheckMetadata
ContiguousElements
DeviceIdentity
Who a device is, and what its compiled code is keyed to.
DeviceProperties
Properties of what the device can do, like what Feature are supported by it and what its memory properties are.
EnumSet
A set of enum variants, stored as a bitmask.
EnumSetIter
Iterator over the variants of an EnumSet, in declaration order.
ExpandState
GlobalState
HardwareProperties
Properties of the device related to the accelerator hardware.
InstructionModes
Modes set and reset during expansion
Intern
A pointer to an interned object.
MemoryDeviceProperties
Properties of the device related to allocation.
MmaProperties
PciAddress
domain:bus:device.function, written 0000:07:00.0. CUDA and NVML call it the bus id.
PciAddressError
PhysicalDevice
The card a device runs on. Two runtimes report different fields for one card, so compare with is_same_card, not ==.
RegistryEntryId
The id of the GPU’s entry in the macOS I/O Registry, which Metal reports as registryID. Like AdapterLuid it is not promised to survive a restart, so it has no serialization or text form.
Scope
The scope represents the region currently being parsed, as well as the current insertion point. It is created from scratch for the initial codegen phase, or rebuilt from an existing scope and a rewriter for passes/conversions.
SliceMetadata
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.
VectorRegisters
A device’s vector registers, counted in elements of one type.

Enums§

AddressSpace
Class of a pointer. For Global, the ID contains the underlying buffer ID. The ID can be used to determine more detailed buffer properties, i.e. for Metal where readability is part of the pointer class. For CubeCL semantics, pointers classes to different buffer IDs should be treated as entirely separate types.
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.
AggregateKind
Builtin
ComplexKind
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.
ElemType
Conceptual element type, not necessarily the physical type used in the code
ExpandValue
FastMath
Unchecked optimizations for float operations. May cause precision differences, or undefined behaviour if the relevant conditions are not followed.
FloatKind
IntKind
MetadataKind
OpaqueType
PciVendor
The maker of a card, by PCI vendor id.
SemanticType
Type
UIntKind

Statics§

ADDRESS_TYPE_KEY

Traits§

ContextExt
EnumSetType
An enum whose variants can be collected into an EnumSet.
FuncOpExt
TypeHash
A hash of a type’s structure

Functions§

ident
read_value

Type Aliases§

OpInserter
Sizes
Types
VectorSize

Attribute Macros§

cube_op
Version of pliron_op that automatically derives shape ops, accessors, and a constructor from struct fields. Also enables format by default, and sets the verifier to "succ" unless overridden.

Derive Macros§

EnumSetType
Derives the machinery an enum needs to live in a cubecl_ir::EnumSet.
NamedRewrite
Implements NamedRewrite::name on the annotated struct, returning the short name of the rewrite struct (e.g. "InsertEntrypointPass") instead of the fully-qualified type path.