# 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/kernelize Group UOps into kernels. ::: tinygrad.kernelize.kernelize.get_kernelize_map options: members: false show_labels: false show_source: false --- ## tinygrad/opt Transforms the ast into an optimized ast. This is where BEAM search and heuristics live. ::: tinygrad.opt.get_optimized_ast options: members: false show_labels: false show_source: false --- ## tinygrad/codegen Transform the optimized ast into a linearized list of UOps. ::: tinygrad.codegen.full_rewrite options: members: false show_labels: false show_source: false --- ## tinygrad/renderer 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 --- ## tinygrad/engine Abstracted high level interface to the runtimes. ::: tinygrad.engine.realize.get_program options: members: false show_labels: false show_source: false