StableHLO is an operation set that expresses ML computations. It has been originally bootstrapped from the MHLO dialect and enhances it with additional functionality, including serialization and versioning.
StableHLO is a portability layer between ML frameworks and ML compilers. We are aiming for adoption by a wide variety of ML frameworks including TensorFlow, JAX and PyTorch, as well as ML compilers including XLA and IREE.
We're using GitHub issues / pull requests to organize development and
GitHub discussions
to have longer discussions. We also have a #stablehlo
channel on the OpenXLA Discord server.
With StableHLO, our goal is to create a community to build an amazing portability layer between ML frameworks and ML compilers. Let's work together on figuring out the appropriate governance to make this happen.
- Workstream #1: Stable version of HLO/MHLO, including the spec, the corresponding dialect with high-quality implementations of prettyprinting, verification and type inference, and the interpeter. ETA: H2 2022.
- Workstream #2: Evolution beyond what's currently in HLO/MHLO. Ongoing work on dynamism, sparsity, quantization and extensibility. ETA: H2 2022.
- Workstream #3: Support for ML frameworks (TensorFlow, JAX, PyTorch) and ML compilers (XLA and IREE). ETA: H2 2022.