pub struct FixedPointForwardGraph { /* private fields */ }Expand description
Packed forward CSR graph buffers ready for Vyre dispatch.
Implementations§
Source§impl FixedPointForwardGraph
impl FixedPointForwardGraph
Sourcepub fn new(
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
) -> Result<Self, String>
pub fn new( stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], ) -> Result<Self, String>
Validate and pack invariant forward-CSR buffers once.
Sourcepub fn new_for_kind(
kind: FixedPointAnalysisKind,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
) -> Result<Self, String>
pub fn new_for_kind( kind: FixedPointAnalysisKind, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], ) -> Result<Self, String>
Validate and pack invariant forward-CSR buffers for one analysis family.
Sourcepub fn new_with_edge_kind_mask(
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
allowed_mask: u32,
) -> Result<Self, String>
pub fn new_with_edge_kind_mask( stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], allowed_mask: u32, ) -> Result<Self, String>
Validate and pack invariant CSR buffers once after masking edge kinds.
Sourcepub fn new_with_edge_kind_mask_for_kind(
kind: FixedPointAnalysisKind,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
allowed_mask: u32,
) -> Result<Self, String>
pub fn new_with_edge_kind_mask_for_kind( kind: FixedPointAnalysisKind, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], allowed_mask: u32, ) -> Result<Self, String>
Validate and pack masked CSR buffers for one analysis family.
Sourcepub fn replace(
&mut self,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
) -> Result<(), String>
pub fn replace( &mut self, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], ) -> Result<(), String>
Validate and repack this graph in place while retaining buffer capacity.
Sourcepub fn replace_for_kind(
&mut self,
kind: FixedPointAnalysisKind,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
) -> Result<(), String>
pub fn replace_for_kind( &mut self, kind: FixedPointAnalysisKind, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], ) -> Result<(), String>
Validate and repack this graph for the same analysis family.
Sourcepub fn replace_with_edge_kind_mask(
&mut self,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
allowed_mask: u32,
) -> Result<(), String>
pub fn replace_with_edge_kind_mask( &mut self, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], allowed_mask: u32, ) -> Result<(), String>
Validate and repack this graph after masking edge kinds in place while retaining buffer capacity.
Sourcepub fn replace_with_edge_kind_mask_for_kind(
&mut self,
kind: FixedPointAnalysisKind,
stage: &str,
node_count: u32,
edge_offsets: &[u32],
edge_targets: &[u32],
edge_kind_mask: &[u32],
allowed_mask: u32,
) -> Result<(), String>
pub fn replace_with_edge_kind_mask_for_kind( &mut self, kind: FixedPointAnalysisKind, stage: &str, node_count: u32, edge_offsets: &[u32], edge_targets: &[u32], edge_kind_mask: &[u32], allowed_mask: u32, ) -> Result<(), String>
Validate and repack masked CSR buffers for the same analysis family.
Sourcepub fn kind(&self) -> FixedPointAnalysisKind
pub fn kind(&self) -> FixedPointAnalysisKind
Analysis family this prepared graph layout belongs to.
Sourcepub fn require_kind(
&self,
expected: FixedPointAnalysisKind,
consumer: &str,
) -> Result<(), String>
pub fn require_kind( &self, expected: FixedPointAnalysisKind, consumer: &str, ) -> Result<(), String>
Verify this graph layout is consumed by the analysis family that prepared it.
Sourcepub fn node_count(&self) -> u32
pub fn node_count(&self) -> u32
Number of graph nodes in the prepared dispatch domain.
Sourcepub fn edge_count(&self) -> u32
pub fn edge_count(&self) -> u32
Number of graph edges in the prepared dispatch domain.
Sourcepub fn retained_bytes(&self) -> usize
pub fn retained_bytes(&self) -> usize
Total retained bytes across invariant packed graph buffers.
Sourcepub fn stable_layout_hash(&self) -> u64
pub fn stable_layout_hash(&self) -> u64
Deterministic hash of the normalized graph layout.
This is intentionally not HashMap’s randomized hasher. Plan and
resident-resource caches need a stable key for equivalent CSR layouts
across runs, devices, and processes.
Trait Implementations§
Source§impl Clone for FixedPointForwardGraph
impl Clone for FixedPointForwardGraph
Source§fn clone(&self) -> FixedPointForwardGraph
fn clone(&self) -> FixedPointForwardGraph
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more