What Happens During a Run¶
What OptimusPy decides while an optimize run is going.
The run, step by step¶
Every optimize run follows the same path, whichever mode picks the orders.
- Only one mode per config.
predefined_orders,optimize_positionandoptimize_dimensioncan't be combined. With none of them, the run uses Greedy, or Fast mode with"fast": true. - The locked slot. If the last dimension of the storage order has string elements, TM1 won't let it move, so OptimusPy never moves it. And TM1 never lets any other dimension with string elements move into the last slot, so OptimusPy never tries one there. See The Locked Slot.
- Your rules bind Greedy and Fast.
dimensions_to_exclude,orders_to_ignoreanddimension_position_rulesshape the orders they try. Orders you list yourself (Predefined) are only checked against the locked slot. See Dimension Position Rules.
The full pipeline, including how the cache and VMM/VMT are handled, is on How It Works.
How Greedy and Fast mode choose¶
Greedy fills slots from the outside in, measuring every remaining dimension at each one; Fast stops after the last and first slots. The details are on Optimize Mode and The Greedy Search.
Next: Reading the Result →