Files
tinygrad/docs/developer.md
George Hotz 967638f0d5 update docs, remove corealize (#4264)
* update docs, remove corealize

* handle 0 line count

* tensor schedule
2024-04-23 12:05:29 +04:00

895 B

Frontend

Everything in Tensor is syntactic sugar around function.py, where the forwards and backwards passes are implemented for the different ops. That goes on to construct a graph of

::: tinygrad.lazy.LazyBuffer options: show_source: false

Lowering

The scheduler converts the graph of LazyBuffers into a list of ScheduleItem. ast specifies what compute to run, and bufs specifies what buffers to run it on.

::: tinygrad.ops.ScheduleItem

The code in realize lowers ScheduleItem to ExecItem with

::: tinygrad.engine.realize.lower_schedule

Execution

Creating ExecItem, which has a run method

::: tinygrad.engine.realize.ExecItem options: members: true

Lists of ExecItem can be condensed into a single ExecItem with the Graph API (rename to Queue?)