Module Ir

module Affine : sig ... end
module Assignments : sig ... end
module Backend_impl : sig ... end
module Backend_intf : sig ... end
module C_syntax : 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
module Indexing : sig ... end
module Interval : sig ... end
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 Schedule : sig ... end
module Schedule_cache : sig ... end
module Schedule_outcome : sig ... end
module Task : sig ... end
module Tnode : sig ... end