Module Ir

module Affine : sig ... end

Affine legality queries over access index vectors (gh-ocannl-494, manifesto ยง6 waypoints 1-2).

module Alloc_census : sig ... end

A process-global census of the allocation classes whose accumulation across a schedule search exhausted a 12 GB card (gh-ocannl-550).

module Assignments : sig ... end

Assignment computations over tensor nodes.

module Backend_impl : sig ... end
module Backend_intf : sig ... end
module C_syntax : sig ... end
module Compiler_options : sig ... end
module Cost_model : sig ... end

Analytic 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 Host_inits : sig ... end

A 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 ... end

Symbols and projections used to lower tensor indexing.

module Interval : sig ... end

Interval (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 Low_level : sig ... end
module Ndarray : sig ... end
module Numerics : sig ... end

Numerics 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 Ops : sig ... end
module Resource_fault_injection : sig ... end

Test-only fault-injection points for resource-owning seams.

module Schedule : sig ... end
module Schedule_cache : sig ... end
module Schedule_outcome : sig ... end
module Schedule_space : sig ... end

The 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 ... end
module Tnode : sig ... end