Module Uop.Opt
Schedule options attached to kernel metadata.
Each variant except Nolocals carries an axis — the schedule axis it applies to — and most carry an amount interpreted by the scheduler (tile width, unroll factor, lane count, padding target).
Note. The variant declaration order is load-bearing: total ordering over t uses Stdlib.compare, which reads the constructor ordinal first.
type t = | Tc of {}(*Tensor-core configuration on
*)axis.| Upcast of {}(*Vectorize
*)axisbyamountlanes.| Unroll of {}(*Unroll
*)axisbyamountiterations.| Local of {}(*Split
*)axisinto workgroup-shared tiles ofamount.| Thread of {}(*Split
*)axisinto per-thread tiles ofamount.| Group of {}(*Split
*)axisinto workgroups ofamount.| Grouptop of {}| Nolocals(*Disable local memory for this kernel.
*)| Padto of {}(*Pad
*)axisto a multiple ofamount.| Swap of {}(*Swap
*)axisandwith_axisin the schedule.
The type for schedule options.
val to_string : t -> stringto_string opt is a compact textual form of opt (e.g. "UPCAST:0:4").
val amount : t -> int option