Overview of FlyDSL Components
mainFlyDSL is a Python-based Domain Specific Language (DSL) designed for authoring high-performance GPU kernels. The project is composed of several key layers:
- FlyDSL (Python Front-end): The primary interface for kernel authors, located in
python/flydsl/. - FlyDSL Compiler: A trace-based JIT compiler using
@flyc.jitand@flyc.kerneldecorators, located inpython/flydsl/compiler/. - FlyDSL Expr: The library of DSL expression operations (arithmetic, vector, GPU, buffer, and ROCm-specific
rocdl), located inpython/flydsl/expr/. - Fly Dialect: An MLIR dialect implementing layout algebra, located in
include/flydsl/Dialect/Fly/. - MlirCompiler: The end-to-end MLIR pass pipeline that transforms the DSL into binary, located in
python/flydsl/compiler/jit_function.py. - JITCFunction: A wrapper for the MLIR ExecutionEngine used for JIT execution, located in
python/flydsl/compiler/jit_executor.py.