Skip to main content

Crate vyre_self_substrate

Crate vyre_self_substrate 

Source
Expand description

Self-substrate - vyre using its own primitives to compile/dispatch vyre.

These modules realize the recursion thesis (#30): every Tier-2.5 primitive shipped in vyre-primitives also has a vyre-self consumer here that uses the same Program at compile / dispatch time.

§Layering (audit cleanup A10, 2026-04-30)

Extracted from vyre-driver/src/self_substrate/ into a dedicated crate so the substrate-self-uses live at a layer that depends only on vyre-foundation + vyre-primitives - eliminating the layering muddle where backend-specific dispatch code and substrate self-uses shared one home in vyre-driver.

  vyre-foundation
        ↑
  vyre-primitives
        ↑
  vyre-self-substrate          ← THIS CRATE (no driver deps)
        ↑
  vyre-driver / vyre-runtime / vyre-libs / vyre-driver-{cuda,wgpu}

No cycles. Every consumer above this crate reaches the substrate via vyre_self_substrate::* directly.

vyre-foundation cannot consume self_substrate from here because self_substrate depends on vyre-primitives which depends on vyre-foundation - that’s the cycle that justifies the dedicated crate. Foundation has its own smaller substrate at vyre_foundation::pass_substrate (with the math kernels it needs inlined locally - same pattern Linux uses for arch-local libs vs lib/).

§Module list

  • dataflow_fixpoint (#26) - Region-graph dataflow fixpoint via vyre-primitives::math::semiring_gemm over the Region adjacency.
  • cost_model (#28) - probabilistic dispatch cost model via vyre-primitives::graph::sum_product_circuit + conformal intervals from vyre-primitives::math::conformal.
  • vsa_fingerprint (#29) - VSA op-cache key via vyre-primitives::hash::hypervector.
  • spectral_schedule (#23) - spectral clustering of dispatch graph via vyre-primitives::graph::chebyshev_filter + vyre-primitives::math::spectral_shape.
  • differentiable_autotune (#27) - differentiable autotuner via vyre-primitives::math::differentiable.
  • polyhedral_fusion (#19) - polyhedral / affine fusion via vyre-primitives::math::semiring_gemm on the affine-dependency adjacency.
  • megakernel_schedule (#22) - megakernel ILP relaxation via vyre-primitives::opt::homotopy continuation.
  • tensor_train_chain_fusion (#6) - chain-shaped Region fusion via vyre-primitives::math::tensor_train::tt_contract_step contraction.
  • do_calculus_change_impact (#36) - rule-graph change-impact analysis via vyre-primitives::graph::do_calculus graph surgery.
  • scallop_provenance (#39) - GPU-resident rule provenance closure via vyre-primitives::math::scallop_join Datalog fixpoint.
  • matroid_megakernel_scheduler (#46) - discrete fusion-grouping via matroid intersection augmenting paths. Complements megakernel_schedule (#22 homotopy continuous solver) with the exact combinatorial selection.
  • mori_zwanzig_region_coarsen (#58) - Region-tree coarse-graining via Mori-Zwanzig projection. Reduces O(N²) all-pairs analyses to O(K²) at workspace scale with quantified projection error.
  • fmm_polyhedral_compress (#51) - FMM hierarchical compression of #19 polyhedral fusion’s all-pairs affinity. Drops cost from O(N²) to O(N log N) at workspace scale.
  • submodular_cache_eviction (#45) - pipeline-cache eviction via submodular maximization. Replaces LRU’s heuristic with the provably-(1-1/e) greedy approximation.
  • qsvt_matrix_function_fusion (#34) - transport-based fusion analysis via QSVT-applied matrix functions. Computes Wasserstein distances on dispatch graphs in O(K·N²) instead of O(N³).
  • persistent_homology_loop_signature (#15) - Region-tree loop topology via Vietoris-Rips filtration. Fusion-vs-fission decision informed by H₁ persistent features.
  • adjustment_set_pass_dependency (#37) - optimizer pass-ordering validity via causal back-door analysis on the rewrite-precondition graph.
  • functorial_pass_composition (#52) - IR transform passes as categorical functors. Compositionality, equational reasoning, free adjoint pairs - pass framework moves from hand-managed DAG to a typed functor-category.
  • string_diagram_ir_rewrite (#53) - Vyre IR Region tree IS a string diagram in Cat(GPU buffers, Programs). Optimizer rewrites become string-diagram rewrites; coherence theorems give free correctness proofs.
  • planar_rewrite_pass_scheduler (#11) - schedule batch IR rewrites onto disjoint sub-trees via planar non-overlapping selection. Drops dispatch count from O(N) sequential to O(log N) batched.

Re-exports§

pub use analysis::cost_model;
pub use analysis::dataflow_fixpoint;
pub use analysis::decision_telemetry;
pub use analysis::diagnostic_aggregation;
pub use analysis::diagnostic_comparison;
pub use analysis::effect_signature_check;
pub use analysis::incremental_invalidation;
pub use analysis::knowledge_compile_pass_precondition;
pub use analysis::linear_type_check;
pub use analysis::persistent_fixpoint_program;
pub use analysis::shape_smt_check;
pub use logic::adjustment_set_pass_dependency;
pub use logic::categorical_check;
pub use logic::dnnf_compile;
pub use logic::do_calculus_change_impact;
pub use logic::functorial_pass_composition;
pub use logic::string_diagram_ir_rewrite;
pub use logic::zx_rewrite;
pub use data::bitset_compression;
pub use data::bitset_summary;
pub use data::matroid_exact_megakernel;
pub use data::matroid_megakernel_scheduler;
pub use data::parsing_dispatch_pipeline;
pub use data::scallop_provenance;
pub use data::scallop_provenance_wide;
pub use data::vsa_fingerprint;
pub use telemetry::observability;
pub use scheduling::branch_compaction;
pub use scheduling::frontier_partitioning;
pub use scheduling::frontier_typed_ir;
pub use scheduling::megakernel_schedule;
pub use scheduling::multi_corpus_batching;
pub use scheduling::planar_rewrite_pass_scheduler;
pub use scheduling::polyhedral_fusion;
pub use scheduling::spectral_schedule;
pub use scheduling::submodular_cache_eviction;
pub use integration::evidence::benchmark_baselines;
pub use integration::evidence::c_parser_benchmark_evidence;
pub use integration::evidence::cuda_ptx_pattern_evidence;
pub use integration::evidence::optimization_release_evidence;
pub use integration::coverage;
pub use integration::evidence;
pub use integration::quality;
pub use integration::release;
pub use optimizer::contracts::cross_crate_perf_contracts;
pub use optimizer::contracts::optimization_composition_contracts;
pub use optimizer::contracts::optimization_pass_selection;
pub use optimizer::contracts::optimization_registry;
pub use optimizer::contracts::optimization_release_passes;
pub use integration::quality::allocation_regression;
pub use integration::quality::architecture_boundary_map;
pub use integration::quality::contributor_module_map;
pub use integration::quality::crate_metadata_readiness;
pub use integration::quality::deep_review_gate;
pub use integration::quality::paradigm_shift_plan_audit;
pub use integration::quality::public_api_boundary;
pub use integration::quality::public_api_doctest_gate;
pub use integration::coverage::analysis_coverage;
pub use integration::coverage::c_dialect_matrix;
pub use integration::coverage::clang_parity_dashboard;
pub use integration::coverage::graph_layout_coverage;
pub use integration::coverage::hostile_input_coverage;
pub use integration::coverage::linux_corpus_parity;
pub use integration::coverage::parser_semantic_safety;
pub use integration::coverage::semantic_parity_coverage;
pub use integration::coverage::test_taxonomy_coverage;
pub use graph::adaptive_traverse;
pub use graph::alias_registry;
pub use graph::csr_bidirectional;
pub use graph::csr_forward_or_changed;
pub use graph::csr_frontier_queue_batch_memory;
pub use graph::csr_frontier_queue_batch_resident;
pub use graph::csr_frontier_queue_resident;
pub use graph::dominator_frontier;
pub use graph::exploded;
pub use graph::level_wave_pass;
pub use graph::motif;
pub use graph::path_reconstruct;
pub use graph::persistent_bfs;
pub use graph::structural_kernel_pipeline;
pub use graph::toposort;
pub use graph::traversal_dispatch_pipeline;
pub use graph::union_find_emit;
pub use graph::vast_tree_walk;
pub use math::amg_pass_solver;
pub use math::bellman_tn_order;
pub use math::differentiable_autotune;
pub use math::fmm_polyhedral_compress;
pub use math::kfac_autotune_step;
pub use math::mori_zwanzig_region_coarsen;
pub use math::multigrid_matroid_solver;
pub use math::natural_gradient_autotuner;
pub use math::persistent_homology_loop_signature;
pub use math::qsvt_matrix_function_fusion;
pub use math::sheaf_heterophilic_dispatch;
pub use math::sheaf_spectral_clustering;
pub use math::sinkhorn_dispatch_clustering;
pub use math::sinkhorn_full_clustering;
pub use math::tensor_network_fusion_order;
pub use math::tensor_train_chain_fusion;
pub use math::tensor_train_compression;
pub use hardware::device_resident_token_fact_graph;
pub use hardware::gpu_preprocessing_coverage;
pub use hardware::gpu_probe_contract;
pub use hardware::memory_ownership_contract;
pub use integration::release::release_checklist_gate;
pub use integration::release::release_completion_audit;
pub use integration::release::release_gap_findings;
pub use integration::release::release_gpu_evidence;
pub use integration::release::release_launch_sequence;
pub use integration::release::release_scope_docs;
pub use integration::release::release_validation_matrix;

Modules§

analysis
Static-analysis, fixpoint, diagnostics, and verification substrate modules.
data
Data-structure, provenance, and substrate encoding modules.
graph
Graph-dispatch substrate wrappers.
hardware
Hardware dispatch, GPU residency, and device-bound evidence contracts.
integration
Integration-only substrate modules.
logic
Logic, causal reasoning, categorical rewrites, and knowledge-compilation substrate modules.
math
Advanced mathematical substrate passes and optimizer-theory kernels.
optimization
Backward-compatible facade for the optimizer contract modules. Compatibility facade for optimizer contract modules.
optimizer
Self-hosted optimizer keystone - the encoder + GPU passes that run the compiler against its own substrate. Exposed at the lib root so external consumers (driver-cuda parity tests, conform runners) can reach OptimizerDispatcher, the per-pass *_via_encoded entry points, and optimizer contract metadata without descending into private module paths. Self-hosted optimizer keystone.
scheduling
Scheduling, fusion, batching, and dispatch-strategy substrate modules.
telemetry
Runtime counters and substrate telemetry.