mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-22 06:22:06 +08:00
100f89a161
* openpilot v0.9.9 release date: 2025-06-05T19:54:08 master commit: 8aadf02b2fd91f4e1285e18c2c7feb32d93b66f5 * AGNOS 12.4 (#35558) agnos12.4 --------- Co-authored-by: Vehicle Researcher <user@comma.ai> Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
# Runtime Overview
|
|
|
|
## Overview
|
|
|
|
A typical runtime consists of the following parts:
|
|
|
|
- [Compiled](#compiled)
|
|
- [Allocator](#allocator)
|
|
- [Program](#program)
|
|
- [Compiler](#compiler)
|
|
|
|
### Compiled
|
|
|
|
The `Compiled` class is responsible for initializing and managing a device.
|
|
|
|
::: tinygrad.device.Compiled
|
|
options:
|
|
members: [
|
|
"synchronize"
|
|
]
|
|
show_source: false
|
|
|
|
### Allocator
|
|
|
|
The `Allocator` class is responsible for managing memory on the device. There is also a version called the `LRUAllocator`, which caches allocated buffers to optimize performance.
|
|
|
|
::: tinygrad.device.Allocator
|
|
options:
|
|
members: true
|
|
show_source: false
|
|
|
|
::: tinygrad.device.LRUAllocator
|
|
options:
|
|
members: true
|
|
show_source: false
|
|
|
|
### Program
|
|
|
|
The `Program` class is created for each loaded program. It is responsible for executing the program on the device. As an example, here is a `CPUProgram` implementation which loads program and runs it.
|
|
|
|
::: tinygrad.runtime.ops_cpu.CPUProgram
|
|
options:
|
|
members: true
|
|
|
|
### Compiler
|
|
|
|
The `Compiler` class compiles the output from the `Renderer` and produces it in a device-specific format.
|
|
|
|
::: tinygrad.device.Compiler
|
|
options:
|
|
members: true
|