{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "cf2246a7ad439fa38d57462118e7840e5497a685",
    "tool": "pyref",
    "version": "1.7.3"
  },
  "language": "python",
  "modules": [
    {
      "description": "The knob registry: each optimization knob declared once.\n\nCopyright 2025 Ambiq. All Rights Reserved.",
      "name": "knobs",
      "path": "helia_aot.optimization.knobs",
      "submodules": [],
      "summary": "The knob registry: each optimization knob declared once.",
      "symbols": [
        {
          "description": "",
          "examples": [],
          "id": "helia_aot.optimization.knobs.KNOBS",
          "kind": "constant",
          "language": "python",
          "members": [],
          "name": "KNOBS",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "KNOBS: tuple[KnobSpec, ...] = (ACCUMULATION, KERNEL)",
          "source": {
            "line": 114,
            "path": "helia_aot/optimization/knobs.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L114"
          },
          "summary": ""
        },
        {
          "description": "`dataclass`\n\nOne optimization knob.",
          "examples": [],
          "id": "helia_aot.optimization.knobs.KnobSpec",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "The knob's configuration key under ``optimization`` and\n``operators[].optimization``.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.name",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "name",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "name: str",
              "source": {
                "line": 34,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L34"
              },
              "summary": ""
            },
            {
              "description": "Its values, excluding ``auto``.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.values",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "values",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "values: tuple[str, ...]",
              "source": {
                "line": 35,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L35"
              },
              "summary": ""
            },
            {
              "description": "The value that keeps the kernel library's default numerics;\n``auto`` falls back to it when the approximation gate is closed.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.default",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "default",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "default: str",
              "source": {
                "line": 36,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L36"
              },
              "summary": ""
            },
            {
              "description": "Values that change numerics relative to\n``default``.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.approximate_values",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "approximate_values",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "approximate_values: frozenset[str]",
              "source": {
                "line": 37,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L37"
              },
              "summary": ""
            },
            {
              "description": "The value ``auto`` picks for each goal, subject to the\napproximation gate.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.auto",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "auto",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "auto: Mapping[OptimizationGoal, str]",
              "source": {
                "line": 38,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L38"
              },
              "summary": ""
            },
            {
              "description": "Operator type keys the knob can apply to.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.applies_to",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "applies_to",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "applies_to: frozenset[str]",
              "source": {
                "line": 39,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L39"
              },
              "summary": ""
            },
            {
              "description": "What the knob changes.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.summary",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "summary",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "summary: str",
              "source": {
                "line": 40,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L40"
              },
              "summary": ""
            },
            {
              "description": "Resolve a requested value; ``auto`` follows the static table.\n\nAn explicit value is used as given. ``auto`` takes the goal's value,\nunless that value is approximate and the gate is closed, in which case\nit takes ``default``.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.resolve",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "resolve",
              "params": [
                {
                  "description": "The requested value, possibly ``auto``.",
                  "name": "requested",
                  "type": "str"
                },
                {
                  "description": "``optimization.goal``.",
                  "name": "goal",
                  "type": "OptimizationGoal"
                },
                {
                  "description": "``optimization.allow_approximate``.",
                  "name": "allow_approximate",
                  "type": "bool"
                }
              ],
              "raises": [
                {
                  "description": "If ``requested`` is neither ``auto`` nor one of ``values``.",
                  "type": "ValueError"
                }
              ],
              "returns": [
                {
                  "description": "A value from ``values``.",
                  "name": "str",
                  "type": "str"
                }
              ],
              "signature": "resolve(requested: str, goal: OptimizationGoal, allow_approximate: bool) -> str",
              "source": {
                "line": 42,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L42"
              },
              "summary": "Resolve a requested value; auto follows the static table."
            },
            {
              "description": "Whether ``value`` changes numerics relative to ``default``.",
              "examples": [],
              "id": "helia_aot.optimization.knobs.KnobSpec.is_approximate",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "is_approximate",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "is_approximate(value: str) -> bool",
              "source": {
                "line": 69,
                "path": "helia_aot/optimization/knobs.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L69"
              },
              "summary": "Whether value changes numerics relative to default."
            }
          ],
          "name": "KnobSpec",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "KnobSpec(\n    name: str,\n    values: tuple[str, ...],\n    default: str,\n    approximate_values: frozenset[str],\n    auto: Mapping[OptimizationGoal, str],\n    applies_to: frozenset[str],\n    summary: str,\n) -> None",
          "source": {
            "line": 16,
            "path": "helia_aot/optimization/knobs.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L16"
          },
          "summary": "One optimization knob."
        },
        {
          "description": "The names of all knobs.",
          "examples": [],
          "id": "helia_aot.optimization.knobs.knob_names",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "knob_names",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "knob_names() -> frozenset[str]",
          "source": {
            "line": 117,
            "path": "helia_aot/optimization/knobs.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L117"
          },
          "summary": "The names of all knobs."
        },
        {
          "description": "Look up a knob by name.",
          "examples": [],
          "id": "helia_aot.optimization.knobs.knob",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "knob",
          "params": [
            {
              "description": "The knob's name.",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [
            {
              "description": "When no knob has that name.",
              "type": "KeyError"
            }
          ],
          "returns": [
            {
              "description": "The knob.",
              "name": "KnobSpec",
              "type": "KnobSpec"
            }
          ],
          "signature": "knob(name: str) -> KnobSpec",
          "source": {
            "line": 122,
            "path": "helia_aot/optimization/knobs.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L122"
          },
          "summary": "Look up a knob by name."
        },
        {
          "description": "Each knob's default value, the choice an operator makes without a handler.",
          "examples": [],
          "id": "helia_aot.optimization.knobs.default_knob_values",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "default_knob_values",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "default_knob_values() -> dict[str, str]",
          "source": {
            "line": 140,
            "path": "helia_aot/optimization/knobs.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/optimization/knobs.py#L140"
          },
          "summary": "Each knob's default value, the choice an operator makes without a handler."
        }
      ]
    }
  ],
  "name": "helia_aot"
}
