pub struct CudaMegakernelPlanCacheKey {
pub graph_layout_hash: u64,
pub analysis_kind: CudaMegakernelAnalysisKind,
pub device: CudaMegakernelDeviceKey,
pub frontier_density_bucket: u16,
pub memory_pressure_bucket: u32,
pub readback_pressure_bucket: u16,
pub launch_pressure_bucket: u32,
pub fusion_pressure_bucket: u32,
}Expand description
Stable key for cached CUDA megakernel plans.
Fields§
§graph_layout_hash: u64Stable hash of the normalized resident graph layout.
analysis_kind: CudaMegakernelAnalysisKindAnalysis family consuming the graph layout.
device: CudaMegakernelDeviceKeyCUDA device feature signature.
frontier_density_bucket: u16Coarse active-frontier density bucket.
memory_pressure_bucket: u32Coarse memory-pressure bucket in basis points.
readback_pressure_bucket: u16Coarse output/readback pressure bucket.
launch_pressure_bucket: u32Coarse launch-over-dispatch pressure bucket in basis points.
fusion_pressure_bucket: u32Coarse caller-provided fusion-pressure bucket.
Implementations§
Source§impl CudaMegakernelPlanCacheKey
impl CudaMegakernelPlanCacheKey
Sourcepub fn new(
graph_layout_hash: u64,
analysis_kind: CudaMegakernelAnalysisKind,
device: CudaMegakernelDeviceKey,
frontier_density: f64,
memory_pressure_bps: u32,
readback_bytes: u64,
launch_pressure_bps: u32,
fusion_pressure: f64,
) -> Self
pub fn new( graph_layout_hash: u64, analysis_kind: CudaMegakernelAnalysisKind, device: CudaMegakernelDeviceKey, frontier_density: f64, memory_pressure_bps: u32, readback_bytes: u64, launch_pressure_bps: u32, fusion_pressure: f64, ) -> Self
Build a cache key from stable identity fields and runtime pressure.
Trait Implementations§
Source§impl Clone for CudaMegakernelPlanCacheKey
impl Clone for CudaMegakernelPlanCacheKey
Source§fn clone(&self) -> CudaMegakernelPlanCacheKey
fn clone(&self) -> CudaMegakernelPlanCacheKey
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CudaMegakernelPlanCacheKey
impl Debug for CudaMegakernelPlanCacheKey
Source§impl Hash for CudaMegakernelPlanCacheKey
impl Hash for CudaMegakernelPlanCacheKey
Source§impl Ord for CudaMegakernelPlanCacheKey
impl Ord for CudaMegakernelPlanCacheKey
Source§fn cmp(&self, other: &CudaMegakernelPlanCacheKey) -> Ordering
fn cmp(&self, other: &CudaMegakernelPlanCacheKey) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for CudaMegakernelPlanCacheKey
impl PartialEq for CudaMegakernelPlanCacheKey
Source§fn eq(&self, other: &CudaMegakernelPlanCacheKey) -> bool
fn eq(&self, other: &CudaMegakernelPlanCacheKey) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl PartialOrd for CudaMegakernelPlanCacheKey
impl PartialOrd for CudaMegakernelPlanCacheKey
impl Copy for CudaMegakernelPlanCacheKey
impl Eq for CudaMegakernelPlanCacheKey
impl StructuralPartialEq for CudaMegakernelPlanCacheKey
Auto Trait Implementations§
impl Freeze for CudaMegakernelPlanCacheKey
impl RefUnwindSafe for CudaMegakernelPlanCacheKey
impl Send for CudaMegakernelPlanCacheKey
impl Sync for CudaMegakernelPlanCacheKey
impl Unpin for CudaMegakernelPlanCacheKey
impl UnsafeUnpin for CudaMegakernelPlanCacheKey
impl UnwindSafe for CudaMegakernelPlanCacheKey
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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
Compare self to
key and return true if they are equal.