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