graph LR
JIT_Compiler["JIT Compiler"]
Scheduler["Scheduler"]
Kernel_Optimizer["Kernel Optimizer"]
Graph_Linearizer["Graph Linearizer"]
LLVM_IR_Renderer["LLVM IR Renderer"]
C_Style_Renderer["C-Style Renderer"]
PTX_Renderer["PTX Renderer"]
WGSL_Renderer["WGSL Renderer"]
JIT_Compiler -- "passes computation graph to" --> Scheduler
Kernel_Optimizer -- "feeds optimized graph to" --> Graph_Linearizer
Graph_Linearizer -- "dispatches UOps to" --> LLVM_IR_Renderer
Graph_Linearizer -- "dispatches UOps to" --> C_Style_Renderer
Graph_Linearizer -- "dispatches UOps to" --> PTX_Renderer
Graph_Linearizer -- "dispatches UOps to" --> WGSL_Renderer
The Graph Compiler & Optimizer subsystem is the core compilation pipeline responsible for transforming, optimizing, and generating low-level code from the Computation Graph. This includes graph optimization passes, scheduling, linearization, and device-specific code generation, along with the JIT system for runtime optimization.
Manages Just-In-Time compilation, capturing computation graphs, handling symbolic dimensions, and initiating the compilation and execution process.
Related Classes/Methods:
Creates an ordered sequence of operations (a schedule) from the computation graph, optimizing the execution flow.
Related Classes/Methods:
Applies various graph optimization passes (e.g., dimension simplification, merging, tensor core optimizations) to improve kernel performance.
Related Classes/Methods:
Transforms the optimized computation graph into a linear sequence of micro-operations (UOps), serving as a crucial intermediate representation for code generation.
Related Classes/Methods:
Generates LLVM Intermediate Representation (IR) code from linearized UOps for LLVM-compatible targets.
Related Classes/Methods:
Generates C-style source code from linearized UOps for C-compatible targets.
Related Classes/Methods:
Generates PTX (Parallel Thread Execution) assembly code from linearized UOps for NVIDIA GPUs.
Related Classes/Methods:
Generates WGSL (WebGPU Shading Language) code from linearized UOps for WebGPU targets.
Related Classes/Methods: