Enum ObjectiveFunction¶
Defined in File options.hpp
Enum Documentation¶
-
enum class sequant::ObjectiveFunction¶
Objective function to minimize in single-term and top-level optimize routines. The
Dense*models assume dense tensors:DenseFLOPscounts floating-point operations.DenseSizecounts result-tensor storage elements (summed over intermediates) — a gross-traffic proxy, not a peak.DensePeakSizeminimizes peak memory: the maximum over the evaluation schedule of the combined size of all simultaneously-live tensors (intermediates AND resident input leaves, the all-co-resident model), and it chooses the evaluation order that minimizes that peak. Unlike the order-independentDenseFLOPs/DenseSize, the contraction order is a real lever here. NOTE:DensePeakSizedoes not yet support common-subexpression elimination (CSEOptions::subnetmust be false).DensePeakSizeBatchedextendsDensePeakSizewith a per-index batchability model: each index satisfyingOptimizeOptions::batch_policy.is_batchable_indexis treated as independently sliced tomin(extent, batch_policy.batch_target_size(ix))elements per index —batch_target_sizeis an upper bound, so this is a conservative (over-)estimate of the realized whole-tile batch, which the backend rounds down to a tile multiple (never above the target; seemode_batches_of_trange1). The DP minimises peak over the worst-case sliced configuration. Only consulted by the batched oracle and DP; requiresbatch_policy.is_batchable_indexandbatch_policy.batch_target_sizeto be set.
Leaves room for
Sparse*models later.Values:
-
enumerator DenseFLOPs¶
-
enumerator DenseSize¶
-
enumerator DensePeakSize¶
-
enumerator DensePeakSizeBatched¶