docs/developer/layout.md
This explains the flow of a big graph down to programs.
Directories are listed in order of how they are processed.
Group UOps into kernels.
::: tinygrad.schedule.rangeify.get_kernel_graph options: members: false show_labels: false show_source: false
Transforms the ast into an optimized ast. This is where BEAM search and heuristics live.
Transform the optimized ast into a linearized and rendered program.
::: tinygrad.codegen.get_program options: members: false show_labels: false show_source: false
Transform the linearized list of UOps into a program, represented as a string.
::: tinygrad.renderer.Renderer options: members: - render show_labels: false show_source: false
Abstracted high level interface to the runtimes.
::: tinygrad.engine.realize.get_program options: members: false show_labels: false show_source: false