Irmodule Affine : sig ... endAffine legality queries over access index vectors (gh-ocannl-494, manifesto ยง6 waypoints 1-2).
module Alloc_census : sig ... endA process-global census of the allocation classes whose accumulation across a schedule search exhausted a 12 GB card (gh-ocannl-550).
module Assignments : sig ... endAssignment computations over tensor nodes.
module Backend_impl : sig ... endmodule Backend_intf : sig ... endmodule C_syntax : sig ... endOCANNL's C-family code generator, shared by the cc, CUDA, HIP and Metal backends: renders lowered routines as C, CUDA, HIP or MSL source through a backend's C_syntax_config, and reports per-compile censuses of the renderings it chose.
module Compile_cost : sig ... endWhere a compile's host wall time goes (gh-ocannl-1314).
module Compiler_options : sig ... endmodule Cost_model : sig ... endAnalytic cost model, the extraction half (gh-ocannl-491 task 1): per-kernel compulsory memory footprints, arithmetic-op counts, arithmetic intensity, and the roofline lower-bound time under advisory envelope constants (Backend_intf.hardware_limits's peak_flops / peak_memory_bandwidth).
module Cuda_like_config : sig ... endmodule Cuda_mma : sig ... endCUDA's tensor-core tables as pure functions of storage precisions, the numerics policy and the compute capability: the one arm variant the backend's mma_syntax and mma_fragment_syntax hooks dispatch on, its arch floors, markers and tiles, the capability descriptor (Backend_intf.mma_capability) autotune seeds from, and the nvrtc arch-target policy that reads the floors back out of rendered source.
module Fp_algebra : sig ... endThe licensed floating-point algebra over raw lowered code (gh-ocannl-998): a member of the Rewrites tier, after Online_softmax.
module Hip_mma : sig ... endHIP's rocWMMA tables as pure functions of storage precisions and the numerics policy: the bf16-residency predicate, the one combination table both Hip_backend mma hooks consult, the arm table it publishes (Backend_intf.codegen_capabilities.mma_arm), and the capability descriptor (Backend_intf.mma_capability) autotune seeds from.
module Host_inits : sig ... endA weakly-owned association from a tensor node to the host buffer holding its initialization data (ndarray-backed literals and persistence-loaded nodes). After gh-ocannl-333 the data is no longer stored on Tnode.t; instead it is registered here at construction and uploaded into a backend context, on demand, at link time.
module Indexing : sig ... endSymbols and projections used to lower tensor indexing.
module Interval : sig ... endInterval (min/max) lattice shared between the per-tensor bounds summaries stored on Tnode.t and the interval_of analysis over Low_level.scalar_t. See docs/proposals/interval-analysis-scalar-t.md. This is deliberately the single module defining the bounds record and its operations (binding constraint 9 of the proposal): Tnode stores plain t values; Low_level extends them with a symbol environment and source tracking.
module Kernel_code_cache : sig ... endA bounded, process-local cache of compiled kernel code, keyed by exact source identity (gh-ocannl-1314).
module Kernel_outline : sig ... endOutlining a large kernel (gh-ocannl-1603).
module Low_level : sig ... endmodule Lowered_nests : sig ... endThe nest view of raw lowered code shared by the recognizers of the algebraic-rewrite tier (Rewrites): Online_softmax and Prefix_scan read a routine as its top-level statements, each either a perfect serial nest with one Set at the bottom or opaque to them, plus a census of who writes and reads which node.
module Lowering_reuse : sig ... endgh-ocannl-1526: one lowering of a routine, reused by the many compiles of an autotuning search.
module Metal_failure : sig ... endWhat a failed Metal compile or pipeline creation reports, read off the text the metal binding raises it with (Failure): the classes the backend types, and the cause it types a compiler crash as.
module Metal_mma : sig ... endMetal's simdgroup_matrix tables as pure functions of storage precisions and the numerics policy: the one combination resolver both Metal_backend mma hooks consult, the arm table it publishes (Backend_intf.codegen_capabilities.mma_arm), and the capability descriptor (Backend_intf.mma_capability) autotune seeds from.
module Ndarray : sig ... endmodule Numerics : sig ... endNumerics policy (gh-ocannl-478's "option 3" knob): compute-precision decisions that change results, so they are chosen by the user โ via the global config or set_policy โ never by the optimizer. Storage precisions live on tensor nodes (Tnode.t.storage_prec); this record governs how computations over those storages are carried out. It must be identical across sibling autotune candidates: candidate schedules compete on speed, never on numerics (the bitwise-parity discipline of the tensorized twins depends on it).
module Online_softmax : sig ... endThe online-softmax attention rewrite (gh-ocannl-483): the first member of the algebraic-rewrite tier over lowered code (Rewrites), a pattern-directed substitution that CHANGES the computation where the schedule transforms only rearrange it.
module Ops : sig ... endmodule Prefix_scan : sig ... endThe prefix-scan rewrite (gh-ocannl-1758): a member of the algebraic-rewrite tier over lowered code (Rewrites), gated by the config key prefix_scan (default off, on in the approximate profile, pinned off in reproducible).
module Register_tile : sig ... endThe C-tile geometry of the register-tiled Tile_mma rendering (gh-ocannl-619).
module Resource_fault_injection : sig ... endTest-only fault-injection points for resource-owning seams.
module Rewrites : sig ... endThe algebraic-rewrite tier over raw lowered code: pattern-directed substitutions that CHANGE the computation, where the schedule transforms only rearrange a fixed one. Assignments.lower applies the tier between to_low_level and Low_level.optimize, ahead of the analyses, so the traced store and the placements see the rewritten routine and a rewrite may remove a node's definition outright.
module Schedule : sig ... endmodule Schedule_cache : sig ... endmodule Schedule_outcome : sig ... endmodule Schedule_space : sig ... endThe partial-schedule decision space (gh-ocannl-514 phases 1-2): the representation branch-and-bound schedule search operates on, per docs/proposals/gh-ocannl-514.md.
module Task : sig ... endA unit of scheduled work: what a backend stream executes for one routine launch or one transfer. The context_lifetime payload exists only to keep the referenced contexts (and with them their buffers) reachable for as long as the task can still run.
module Tnode : sig ... endmodule Vector_file : sig ... endThe vector register file the C backends' explicit-SIMD renderings target: its register width and its register count, as ONE value (gh-ocannl-1399).
module Vendor_idents_cuda : sig ... endmodule Vendor_idents_hip : sig ... end