Skip to main content

Module compile

Module compile 

Source
Expand description

Kernel compilation: assembled DAG → fast executable kernel.

Everything in this module is on the path between assembly::PolydatAssembler and an executable kernel. The pipeline:

PolydatAssembler ──resolve──▶ ResolvedDag ──compile_with(Engine)──┐
  (fusion, adapters,                                              │
   round-trip lint,          ┌────────────────────────────────────┤
   topo sort)                ▼                  ▼                 ▼
                 Interpreter(JitMode)  Closures(Provenance)  Native(Provenance)
                 cone::extract_jit_cones  closures::           hybrid::
                 → PolydatKernel          CompiledKernel*      HybridKernel*

The host names the engine (select::Engine); under Provenance::Auto the selector picks the provenance mode from the graph’s shape. Pure native code (jit::JitKernel*) is the differential tier behind the hybrid kernel.

  • assembly: the public construction surface (assembly::PolydatAssembler + assembly::WireRef) and the per-engine compile paths.
  • fusion: graph-level subgraph fusion pass; runs during assembly after wiring resolution.
  • roundtrip_lint: the structural type-round-trip lint run at resolution.
  • cone: cone-level JIT inside the interpreter kernel (SRD-105), under a cone::JitMode.
  • lattice: the engine-mix report of a compiled program.
  • select: the engine and provenance enums, and the heuristic that picks a provenance mode under Provenance::Auto.
  • closures: the closure tier, one generated op per node over a flat u64 slot buffer, by-reference outputs as Ref2 pairs.
  • hybrid: the native engine (native segments + closure steps sharing a flat u64 buffer).
  • marshal: the boundary marshalling between slots and Values.
  • externs: extern inputs and shared cells on the compiled engines.
  • simd_plan, simd_tier1: scalar-flow SIMD promotion.
  • jit: Cranelift lowering and the pure native kernels (feature-gated on jit).

Modules§

assembly
Programmatic assembly API for building Polydat Kernels.
closures
The closure tier: every node runs its generated op over a flat u64 slot buffer, by-reference outputs as Ref2 pairs into step-owned scratch (compiled_handles.md).
cone
SRD-105 — cone-level JIT inside the interpreter kernel.
fusion
Graph-level node fusion optimization pass.
hybrid
Hybrid kernel: per-node optimal compilation level.
jit
Phase 3: Cranelift JIT compilation of Polydat Kernels.
lattice
SRD-105 lattice report — what extraction actually did.
marshal
The boundary marshalling a compiled node kit reads its arguments and writes its outputs through (compiled_handles.md §4): a node crate’s kits use it as the core’s own do. Marshalling between typed Values and compiled-tier slots. One place owns the rule for every port type, so embedded cones and whole compiled kernels decode alike:
roundtrip_lint
Structural type-round-trip lint (C6b; governing principle: feedback_no_auto_string_conversion).
select
The engine a host chooses, the provenance mode a compiled engine is built with, and the selector that picks a mode from a graph’s shape when the host leaves it to Provenance::Auto.
simd_plan
Static type and node-variant qualification for scalar-flow SIMD promotion.
simd_tier1
End-to-end Tier-1 scalar-flow SIMD promotion.