# helia_aot.memory.defines.ArenaRole

## helia_aot.memory.defines.ArenaRole

`class` · `python`

```python
ArenaRole()
```

Logical role of a memory arena.

Provisional: importable, but outside the compatibility promise; a minor release can change or remove it.

Every tensor in a :class:`MemoryPlan` lives in an arena tagged
with one of these roles. Roles partition the planner output so
scratch reuse, persistent zero-init, and constant residency can
be reasoned about independently.

Each member also answers to its lowercase name (``ArenaRole.scratch``),
an alias of the same member; the value is the spelling reports use.

Source: `helia_aot/memory/defines.py:67`

### helia_aot.memory.defines.ArenaRole.SCRATCH

`constant` · `python`

```python
SCRATCH = auto()
```

``scratch``. Writable activation/scratch arena
(whole-program lifetime shared by ops, slots reused via liveness
analysis).

Source: `helia_aot/memory/defines.py:90`

### helia_aot.memory.defines.ArenaRole.PERSISTENT

`constant` · `python`

```python
PERSISTENT = auto()
```

``persistent``. Whole-program-live writable storage
(resource variables and similar).

Source: `helia_aot/memory/defines.py:91`

### helia_aot.memory.defines.ArenaRole.CONSTANT

`constant` · `python`

```python
CONSTANT = auto()
```

``constant``. Read-only weight storage. Can be cold (the
arena buffer is the cold-storage blob and kernels read it in
place) or staged (the arena buffer is a writable runtime copy
hydrated from a separate source blob).

Source: `helia_aot/memory/defines.py:92`

### helia_aot.memory.defines.ArenaRole.scratch

`attribute` · `python`

```python
scratch = SCRATCH
```

Source: `helia_aot/memory/defines.py:94`

### helia_aot.memory.defines.ArenaRole.persistent

`attribute` · `python`

```python
persistent = PERSISTENT
```

Source: `helia_aot/memory/defines.py:95`

### helia_aot.memory.defines.ArenaRole.constant

`attribute` · `python`

```python
constant = CONSTANT
```

Source: `helia_aot/memory/defines.py:96`
