tinygrad directory layout¤
This explains the flow of a big graph down to programs.
Directories are listed in order of how they are processed.
tinygrad/schedule¤
Group UOps into kernels.
tinygrad/codegen/opt¤
Transforms the ast into an optimized ast. This is where BEAM search and heuristics live.
tinygrad/codegen¤
Transform the optimized ast into a linearized list of UOps.
full_rewrite
¤
tinygrad/renderer¤
Transform the linearized list of UOps into a program, represented as a string.
tinygrad/engine¤
Abstracted high level interface to the runtimes.