# helia_aot.aot.operators.operator.OperatorAttributes

## helia_aot.aot.operators.operator.OperatorAttributes

`class` · `python`

```python
OperatorAttributes()
```

Per-operator placement attributes resolved from the attribute rulesets.

Extra keys are retained (``extra="allow"``) so an operator subclass can read
attributes it defines itself without a schema change here.

Source: `helia_aot/aot/operators/operator.py:38`

### helia_aot.aot.operators.operator.OperatorAttributes.code_placement

`attribute` · `python`

```python
code_placement: MemoryType = Field(default=MemoryType.MRAM, description="Memory region for the operator's generated run code: ITCM or MRAM (default)")
```

Memory region for the operator's generated run code.
``ITCM`` places ``_run`` and its shared kernel helpers in ITCM;
``MRAM`` (the default) leaves them in the toolchain's ``.text``.

Source: `helia_aot/aot/operators/operator.py:53`

### helia_aot.aot.operators.operator.OperatorAttributes.scratch_placement

`attribute` · `python`

```python
scratch_placement: MemoryType = Field(default=MemoryType.SRAM, description='Not implemented; use memory.tensors rules to place scratch tensors')
```

Not implemented; setting it logs a warning. Place
scratch tensors with ``memory.tensors`` rules instead.

Source: `helia_aot/aot/operators/operator.py:57`
