1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//! Tier 2.5 graph primitives.
//!
//! The path IS the interface. Callers write
//! `vyre_primitives::graph::toposort::toposort(...)`; no wildcard
//! re-exports.
/// Kahn's-algorithm topological sort.
/// GPU-resident depth-wave dispatcher for bottom-up callee-before-
/// caller computations (e.g. downstream_dataflow::summary's per-procedure summary
/// fixpoint with topological ordering). Composes Node::Loop +
/// Node::Barrier { ordering: vyre::memory_model::MemoryOrdering::SeqCst } + a per-lane depth predicate; no new sub-op.
/// Reachability scan - given a source set + edge list, which nodes
/// are transitively reachable?
/// Canonical 5-buffer ProgramGraph ABI (CSR wire format, shared by
/// every graph primitive).
pub
pub
/// One BFS step that accumulates into frontier_out and reports changes.
/// One BFS frontier step over ProgramGraph CSR.
/// One persistent-BFS workgroup step with coalesced change detection.
/// Reverse-direction in-place frontier step that reports changes.
/// Reverse-direction BFS frontier step.
/// Total outgoing-edge count over the active frontier. Building block
/// for load-balanced one-thread-per-edge expansion that beats naive
/// one-thread-per-node on power-law graphs.
/// Device-side active-frontier queue materialization and queue-driven CSR
/// expansion for sparse dataflow waves.
/// Queue-to-queue sparse CSR delta expansion for GPU-resident fixpoint waves.
/// Mixed queue traversal that keeps low-degree rows scalar and sends only hubs
/// to row-strided teams.
/// Row-strided queue-driven CSR expansion for high-degree active rows.
/// One BFS step over BOTH forward + backward edges.
/// Dominance-frontier query for SSA phi placement.
/// Exact immediate-dominator tree (Lengauer–Tarjan CPU reference +
/// Cooper–Harvey–Kennedy serial GPU kernel).
/// Walk parent-pointer array from a target back to the root; emit
/// the materialized path into a u32 buffer.
/// Motif witness helpers over ProgramGraph edge constraints.
/// Forward-Backward strongly-connected components decomposition over
/// ProgramGraph CSR.
/// Vector nearest-neighbor graph construction plus graph-ranking parity.
/// Exploded-supergraph builder - (CFG × fact) pairs as graph vertices
/// so IFDS/IDE reduces to `csr_forward_traverse`.
/// Adaptive CSR / dense bitmatrix traversal - picks representation
/// per tile based on frontier density.
/// Shared state/index frontier headers for graph and automata worklists.
/// Persistent BFS - multi-step frontier expansion in a single dispatch.
/// IR Extension interface registering Alias-solving opcodes to the compiler front-end.
/// Lock-free Union-Find for subset alias resolving constraint grids.
/// 3D sub-warp dataflow tensors
/// K-step Chebyshev polynomial filter on a graph Laplacian. Composes
/// from `vyre-primitives::math::semiring_gemm` (each step is one
/// `n × n · n × 1` Real-semiring matvec). Same Program serves user
/// dialects (spectral GNN, security spectral anomaly) AND vyre-self
/// (#23 spectral analysis of dispatch graph for fusion clustering).
/// Sum-product circuit (probabilistic circuit) per-node evaluator.
/// Composes with `level_wave_program` for bottom-up evaluation. Same
/// Program serves user probabilistic-ML dialects AND vyre-self
/// dispatch cost-model (#28).
/// Pearl do-calculus graph surgery - incoming-edge deletion for
/// `do(X = x)` interventions. Same Program serves user causal-
/// inference dialects AND vyre-self change-impact analysis (do(rule_X)
/// on rule dependency graph predicts cache invalidation downstream).
/// Back-door / front-door adjustment set predicates for causal
/// inference (#37). Composes with #36 do-calculus for full ID-
/// algorithm pipelines.
/// Matroid intersection - exchange-graph BFS step for combinatorial
/// scheduling and bipartite matching (#46). Self-consumer: vyre's
/// megakernel scheduler fusion-grouping (#22).
/// Sheaf neural network diagonal-form diffusion step (#31). User:
/// heterophilic GNN, typed call-graph anomalies. Self: vyre's
/// dispatch graph as heterophilic sheaf.
/// Probabilistic knowledge compilation d-DNNF evaluator (#38).
/// Composes with #10 sum_product_circuit for probability-weighted
/// variants.
/// Functorial data migration (#52). Schema-functor
/// application as graph rewrite.
/// Monoidal-category sequential composition (#53).
/// String-diagram compilation primitive.