pub struct BindingSetFingerprint {
pub slots: Vec<(u32, BindingRole, usize)>,
}Expand description
Stable fingerprint of a binding set’s layout - the parts that
determine whether two BindingPlans can share a backend bind
group layout / descriptor set.
Two plans with the same BindingSetFingerprint can reuse the
same portable::BindGroupLayout or native descriptor set across
consecutive dispatches, skipping the layout-rebind cost. The
hot-path perf snapshot puts binding rebind at ~20% of warm
dispatch time on attention/softmax/reduce shapes.
Layout (this fingerprint) is distinct from contents (which
program_vsa_fingerprint covers) - two dispatches of the same
kernel on different input buffers share a layout fingerprint but
differ in their content fingerprint.
Fields§
§slots: Vec<(u32, BindingRole, usize)>Per-binding layout slot: (binding_index, role, element_size).
Ordered by binding_index for deterministic equality.
Implementations§
Source§impl BindingSetFingerprint
impl BindingSetFingerprint
Sourcepub fn from_plan(plan: &BindingPlan) -> Self
pub fn from_plan(plan: &BindingPlan) -> Self
Derive the layout fingerprint from a BindingPlan. Stable
across runs and across machines (no random salts).
Trait Implementations§
Source§impl Clone for BindingSetFingerprint
impl Clone for BindingSetFingerprint
Source§fn clone(&self) -> BindingSetFingerprint
fn clone(&self) -> BindingSetFingerprint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BindingSetFingerprint
impl Debug for BindingSetFingerprint
impl Eq for BindingSetFingerprint
Source§impl Hash for BindingSetFingerprint
impl Hash for BindingSetFingerprint
Source§impl PartialEq for BindingSetFingerprint
impl PartialEq for BindingSetFingerprint
Source§fn eq(&self, other: &BindingSetFingerprint) -> bool
fn eq(&self, other: &BindingSetFingerprint) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for BindingSetFingerprint
Auto Trait Implementations§
impl Freeze for BindingSetFingerprint
impl RefUnwindSafe for BindingSetFingerprint
impl Send for BindingSetFingerprint
impl Sync for BindingSetFingerprint
impl Unpin for BindingSetFingerprint
impl UnsafeUnpin for BindingSetFingerprint
impl UnwindSafe for BindingSetFingerprint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.