pub struct PrecisionGuarantee {
pub math_precision: MathPrecision,
pub accumulator: ElementKind,
pub bit_stable_on_same_hardware: bool,
pub deterministic: bool,
}Expand description
Numerical guarantees a kernel provides.
Surfaces the salient numerical properties consumers need to decide whether a kernel SKU satisfies an op’s precision contract — without having to re-derive them from documentation per kernel.
All fields are intentionally cheap to compare so this struct can be hashed into selection / autotuner caches.
Fields§
§math_precision: MathPrecisionBit-precision used inside the math instruction.
accumulator: ElementKindElement type of the multiply-accumulate accumulator.
bit_stable_on_same_hardware: boolWhether the kernel produces bit-identical results across runs on the same hardware with the same inputs.
false for tensor-core kernels (F16, BF16, TF32) because the
warp-level reduction order isn’t fixed by the spec — adjacent
runs can differ in the last bit even with the same inputs.
true for SIMT F32 and for integer kernels.
deterministic: boolWhether the kernel produces bit-identical results across runs from a single thread within a process — i.e. it has no internal nondeterminism (no atomic accumulation across blocks, no random tile-schedule decisions).
Trait Implementations§
Source§impl Clone for PrecisionGuarantee
impl Clone for PrecisionGuarantee
Source§fn clone(&self) -> PrecisionGuarantee
fn clone(&self) -> PrecisionGuarantee
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PrecisionGuarantee
Source§impl Debug for PrecisionGuarantee
impl Debug for PrecisionGuarantee
impl Eq for PrecisionGuarantee
Source§impl Hash for PrecisionGuarantee
impl Hash for PrecisionGuarantee
Source§impl PartialEq for PrecisionGuarantee
impl PartialEq for PrecisionGuarantee
Source§fn eq(&self, other: &PrecisionGuarantee) -> bool
fn eq(&self, other: &PrecisionGuarantee) -> bool
self and other values to be equal, and is used by ==.