Two runtime implementations live under src/a5/runtime/, each providing a different graph-building strategy. The RUNTIME_CONFIG.runtime field in kernel_config.py selects which runtime to use.
| Feature | host_build_graph | tensormap_and_ringbuffer |
|---|---|---|
| Graph built on | Host CPU | AICPU (device) |
| Task storage | Fixed Task[] array |
Ring buffer (PTO2TaskDescriptor[]) |
| Dependencies | Explicit edges | Auto-derived via TensorMap |
| Use case | Development, debugging | Production workloads |
See host_build_graph/docs/RUNTIME_LOGIC.md.
See tensormap_and_ringbuffer/docs/:
- RUNTIME_LOGIC.md — Full system design
- MULTI_RING.md — Multi-ring buffer architecture
- SUBMIT_BY_CLUSTER.md — Cluster submission design
- SCALAR_DATA_ACCESS.md — Scalar data access patterns
- profiling_levels.md — Profiling levels
- device_log_profiling.md — Device log profiling guide