| 282 | |
| 283 | @dataclass |
| 284 | class ExecutionPlan: |
| 285 | name: str |
| 286 | container_meta_type: ContainerMetadata |
| 287 | values: List[EValue] |
| 288 | inputs: List[int] |
| 289 | outputs: List[int] |
| 290 | chains: List[Chain] |
| 291 | operators: List[Operator] |
| 292 | delegates: List[BackendDelegate] |
| 293 | # the list index is memory buffer id, the value is the memory buffer size. |
| 294 | # memory_buffer_id == 0 is special and is for constant memory buffer. |
| 295 | # Runtime should use the len(constant_buffer) as the ground truch of |
| 296 | # constant memory buffer size, and ignore non_const_buffer_sizes[0]. |
| 297 | non_const_buffer_sizes: List[int] |
| 298 | # Per-buffer device mapping. Each entry maps a non-constant buffer to the |
| 299 | # device where it should be allocated. For CPU-only programs, this is empty. |
| 300 | non_const_buffer_device: Optional[List[NonConstBufferDevice]] = None |
| 301 | |
| 302 | |
| 303 | @dataclass |
no outgoing calls