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
//! 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. weir::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).
/// 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 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.
/// One BFS step over BOTH forward + backward edges.
/// Dominance-frontier query for SSA phi placement.
/// 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.
/// 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.
/// 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.