# helia_aot.optimization.knobs

The knob registry: each optimization knob declared once.

Copyright 2025 Ambiq. All Rights Reserved.

## helia_aot.optimization.knobs.KNOBS

`constant` · `python`

```python
KNOBS: tuple[KnobSpec, ...] = (ACCUMULATION, KERNEL)
```

Source: `helia_aot/optimization/knobs.py:114`

## helia_aot.optimization.knobs.KnobSpec

`class` · `python`

```python
KnobSpec(
    name: str,
    values: tuple[str, ...],
    default: str,
    approximate_values: frozenset[str],
    auto: Mapping[OptimizationGoal, str],
    applies_to: frozenset[str],
    summary: str,
) -> None
```

`dataclass`

One optimization knob.

Source: `helia_aot/optimization/knobs.py:16`

### helia_aot.optimization.knobs.KnobSpec.name

`attribute` · `python`

```python
name: str
```

The knob's configuration key under ``optimization`` and
``operators[].optimization``.

Source: `helia_aot/optimization/knobs.py:34`

### helia_aot.optimization.knobs.KnobSpec.values

`attribute` · `python`

```python
values: tuple[str, ...]
```

Its values, excluding ``auto``.

Source: `helia_aot/optimization/knobs.py:35`

### helia_aot.optimization.knobs.KnobSpec.default

`attribute` · `python`

```python
default: str
```

The value that keeps the kernel library's default numerics;
``auto`` falls back to it when the approximation gate is closed.

Source: `helia_aot/optimization/knobs.py:36`

### helia_aot.optimization.knobs.KnobSpec.approximate_values

`attribute` · `python`

```python
approximate_values: frozenset[str]
```

Values that change numerics relative to
``default``.

Source: `helia_aot/optimization/knobs.py:37`

### helia_aot.optimization.knobs.KnobSpec.auto

`attribute` · `python`

```python
auto: Mapping[OptimizationGoal, str]
```

The value ``auto`` picks for each goal, subject to the
approximation gate.

Source: `helia_aot/optimization/knobs.py:38`

### helia_aot.optimization.knobs.KnobSpec.applies_to

`attribute` · `python`

```python
applies_to: frozenset[str]
```

Operator type keys the knob can apply to.

Source: `helia_aot/optimization/knobs.py:39`

### helia_aot.optimization.knobs.KnobSpec.summary

`attribute` · `python`

```python
summary: str
```

What the knob changes.

Source: `helia_aot/optimization/knobs.py:40`

### helia_aot.optimization.knobs.KnobSpec.resolve

`method` · `python`

```python
resolve(requested: str, goal: OptimizationGoal, allow_approximate: bool) -> str
```

Resolve a requested value; ``auto`` follows the static table.

An explicit value is used as given. ``auto`` takes the goal's value,
unless that value is approximate and the gate is closed, in which case
it takes ``default``.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| requested | str | Required | The requested value, possibly ``auto``. |
| goal | OptimizationGoal | Required | ``optimization.goal``. |
| allow_approximate | bool | Required | ``optimization.allow_approximate``. |

**Returns**

| Name | Type | Description |
| --- | --- | --- |
| str | str | A value from ``values``. |

**Raises**

| Name | Description |
| --- | --- |
| ValueError | If ``requested`` is neither ``auto`` nor one of ``values``. |

Source: `helia_aot/optimization/knobs.py:42`

### helia_aot.optimization.knobs.KnobSpec.is_approximate

`method` · `python`

```python
is_approximate(value: str) -> bool
```

Whether ``value`` changes numerics relative to ``default``.

Source: `helia_aot/optimization/knobs.py:69`

## helia_aot.optimization.knobs.knob_names

`function` · `python`

```python
knob_names() -> frozenset[str]
```

The names of all knobs.

Source: `helia_aot/optimization/knobs.py:117`

## helia_aot.optimization.knobs.knob

`function` · `python`

```python
knob(name: str) -> KnobSpec
```

Look up a knob by name.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | str | Required | The knob's name. |

**Returns**

| Name | Type | Description |
| --- | --- | --- |
| KnobSpec | KnobSpec | The knob. |

**Raises**

| Name | Description |
| --- | --- |
| KeyError | When no knob has that name. |

Source: `helia_aot/optimization/knobs.py:122`

## helia_aot.optimization.knobs.default_knob_values

`function` · `python`

```python
default_knob_values() -> dict[str, str]
```

Each knob's default value, the choice an operator makes without a handler.

Source: `helia_aot/optimization/knobs.py:140`
