We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Archibald & Seibert - PIXIE: Blending Just-in-time and Ahead-of-time compilation | SciPy 2024
Learn about PIXIE, a groundbreaking compilation framework that combines JIT and AOT compilation in Python, optimizing scientific computing with minimal startup times.
-
PIXIE is a new compilation framework that blends just-in-time (JIT) and ahead-of-time (AOT) compilation approaches for Python, focusing on scientific computing applications
-
Key components:
- Storage convention for embedding metadata and multiple compiled function implementations
- Runtime dispatch mechanism to select optimal implementation
- Build-time tooling for creating specialized libraries
-
Main benefits:
- Quick startup times of AOT compilation
- Runtime optimization capabilities of JIT compilation
- Hardware specialization without sacrificing JIT capabilities
- No runtime dependencies for end users
-
Core features:
- Can embed multiple CPU-specific implementations in a single .SO file
- Automatic selection of optimal implementation at runtime
- Support for C and Cython code (with more languages planned)
- Preserves debugging information and optimization metadata
-
Current limitations/status:
- Alpha stage software
- Limited OS support (Linux x86, Mac ARM)
- Some rough edges in tooling
- Requires unreleased versions of Numba/LLVM
-
Future directions:
- Cross-compilation support
- GPU/accelerator support
- Additional language wrappers (Fortran, Rust)
- Integration with other tools like MLIR
- Binary size optimization
- Windows support
-
Designed to solve distribution problems where:
- JIT compilation is not allowed
- Startup latency must be minimized
- Hardware-specific optimizations are needed
- Multiple architecture targets must be supported