OptimizationArgs
PythonModel-wide optimization settings: the goal, the approximation gate and the knobs.
OptimizationArgs()Model-wide optimization settings: the goal, the approximation gate and the knobs.
Every knob defaults to auto, which a static table resolves from
goal and allow_approximate; operators[].optimization overrides
a knob per operator type or id. The resolved choice of every operator is
written to <prefix>_plan.json. Knob fields mirror the knob registry,
helia_aot.optimization.KNOBS.
goal
Pythongoal: OptimizationGoal = Field(default=OptimizationGoal.BALANCED, description="What auto knob values favor: latency, balanced (today's defaults), size or accuracy")What auto favors. balanced keeps
today’s defaults.
allow_approximate
Pythonallow_approximate: bool = Field(default=False, description="Allow auto knob values that change numerics relative to the knob's default (e.g. fast accumulation)")Allow auto to choose knob values that
change numerics relative to the knob’s default. An explicit knob
value is used as given.
accumulation
Pythonaccumulation: Accumulation = Field(default=Accumulation.AUTO, description='FP16 fully connected and depthwise accumulation: precise (four-tap FP32 folding on eligible packed fully connected layers, otherwise standard; the default depthwise entry), fast (legacy fully connected routing; the FP16-lane depthwise entry; approximate where alternatives apply) or auto; FP16 convolution packs at every setting')FP16 accumulation for kernels that offer
a choice: precise, fast or auto.
kernel
Pythonkernel: KernelChoice = Field(default=KernelChoice.AUTO, description='Int8 convolution, depthwise, fully connected and bilinear resize entry: specialized (shape-specialized ns-cmsis-nn direct entries where they apply), generic (the general entries, fewer kernels linked) or auto; both are exact')Int8 convolution, depthwise and fully
connected entry: specialized, generic or auto.
budget
Pythonbudget: dict[str, float] | None = Field(None, description='Constraints for the optimizer, e.g. accuracy_drop or tcm_bytes', json_schema_extra=stability('reserved'))Reserved for the optimizer’s
constraints (for example accuracy_drop in points or
tcm_bytes); setting it is an error.
plan
Pythonplan: Path | None = Field(None, description='Path to a resolved optimization plan to reproduce', json_schema_extra=stability('reserved'))Reserved: a resolved plan to reproduce; setting it is an error.