LIFT
Language for Intelligent Frameworks and Technologies
The first Intermediate Representation built natively for both AI and Quantum Computing.
Simulate before you run. Compile once. Optimise everywhere.
Overview
LIFT is a unified compiler infrastructure that treats AI computation (tensors, gradients, attention) and quantum computation (qubits, gates, noise models) as first-class citizens in the same SSA-based intermediate representation. One .lif source file, one .lith config, one pipeline: simulate, predict, optimise, compile.
.lif source ──► LIFT-CORE (SSA IR) ──► SIMULATE ──► PREDICT ──► OPTIMISE ──► COMPILE
│ │
┌───────────┼───────────┐ ┌────────────┼────────────┐
LIFT-TENSOR LIFT-QUANTUM LIFT-HYBRID CUDA (GPU) OpenQASM 3 LLVM (CPU) ONNX
110 tensor 48 gates 21 hybrid H100/A100 IBM/Rigetti AVX-512 TensorRT
operations Kraus/QEC VQC/VQE ops MI300 IonQ OpenMP PyTorch
Why LIFT?
No existing IR handles both AI and quantum in a single representation.
| Capability | MLIR | ONNX | OpenQASM | Qiskit | LIFT |
|---|---|---|---|---|---|
| AI tensor operations | Y | Y | - | - | Y |
| Quantum gate operations | - | - | Y | Y | Y |
| Unified AI + Quantum IR | - | - | - | ~ | Y |
| Noise as type-level attribute | - | - | - | - | Y |
| Linear qubit types (no-cloning) | - | - | - | - | Y |
| Budget enforcement before compile | - | - | - | - | Y |
| Single config for entire pipeline | - | - | - | - | Y |
| Performance prediction engine | - | - | - | - | Y |
Key: Y = implemented, ~ = partial, - = not supported
What makes LIFT unique
- One IR for AI + Quantum -- Both are equal citizens in the same SSA graph. Joint optimisation across classical and quantum operations.
- Noise in the type system -- Every quantum gate carries T1/T2, fidelity, crosstalk metadata. The compiler reasons about noise at every stage.
- Linear qubit types -- The no-cloning theorem enforced at compile time. Double-use of a qubit is a type error, not a runtime crash.
- Simulation-first compilation -- FLOP count, peak memory, circuit depth, expected fidelity, energy cost -- all computed before hardware runs. Budget violations halt compilation with actionable suggestions.
- One config language -- The
.lithfile replaces 6-8 separate configuration files across frameworks.
Architecture
USER .lif source | .lith config | lift(1) CLI
FRONTEND Lexer > Parser > AST > SSA Builder | Importers: ONNX, PyTorch FX, OpenQASM 3
DIALECTS LIFT-CORE | LIFT-TENSOR | LIFT-QUANTUM | LIFT-HYBRID
ANALYSIS Shape inference | FLOP count | Noise sim | Energy model | Roofline
PASSES TensorFusion FlashAttention GateCancellation RotationMerge LayoutMapping CSE ...
BACKENDS CUDA (PTX) | OpenQASM 3 | LLVM IR | ONNX (opset 21) | XLA (planned)
HARDWARE H100 / A100 / MI300 | IBM Kyoto / Rigetti / IonQ | TPU
Crate Map
| Crate | Purpose | Key contents |
|---|---|---|
lift-core | SSA IR foundation | Types, values, operations, blocks, regions, verifier, printer, pass manager |
lift-ast | Frontend | Lexer, parser, AST, IR builder for .lif files |
lift-tensor | AI dialect | 110 ops (attention, conv, pooling, MoE, quantisation, GNN, fused), shape inference |
lift-quantum | Quantum dialect | 48 gates (IBM/Rigetti/IonQ native), noise models, Kraus channels, QEC, topology |
lift-hybrid | Fusion dialect | 21 ops (VQC, VQE, QAOA), gradient methods, encoding strategies, GPU-QPU transfer |
lift-sim | Analysis engine | Cost models (A100/H100), quantum cost (superconducting/trapped-ion/neutral-atom), energy, carbon |
lift-predict | Prediction | Roofline model, budget enforcement |
lift-opt | Optimisation | 13 passes: DCE, constant fold, tensor fusion, flash attention, gate cancel, rotation merge, CSE, quantisation, noise-aware schedule, layout mapping, canonicalise, gate decomposition, real routing |
lift-import | Importers | ONNX, PyTorch FX, OpenQASM 3 |
lift-export | Backends | LLVM IR, ONNX (opset 21), OpenQASM 3 |
lift-config | Configuration | .lith parser and validator |
lift-cli | CLI | lift verify, lift analyse, lift print, lift optimise, lift predict, lift export |
lift-codegen | Codegen | Programmatic model generation, multi-format export |
Quick Start
# Install Rust 1.80+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/rustnew/Lift.git
cd lift
cargo build --release
# Run tests (535 tests)
cargo test --workspace
Example: Tensor Program
cat > hello.lif << 'EOF'
#dialect tensor
module @test {
func @forward(%x: tensor<4xf32>) -> tensor<4xf32> {
%out = "tensor.relu"(%x) : (tensor<4xf32>) -> tensor<4xf32>
return %out
}
}
EOF
lift verify hello.lif # Check IR well-formedness
lift analyse hello.lif # FLOPs, shapes, memory estimate
lift print hello.lif # Pretty-print the IR
Example: Quantum Circuit
#dialect quantum
module @bell {
func @bell_state() -> (bit, bit) {
%q0 = "quantum.init"() : () -> qubit
%q1 = "quantum.init"() : () -> qubit
%q0 = "quantum.h"(%q0) : (qubit) -> qubit
%q0, %q1 = "quantum.cx"(%q0, %q1) : (qubit, qubit) -> (qubit, qubit)
%b0 = "quantum.measure"(%q0) : (qubit) -> bit
%b1 = "quantum.measure"(%q1) : (qubit) -> bit
return %b0, %b1
}
}
The .lith Configuration
One file controls the entire compilation pipeline:
compilation {
target {
gpu { backend = "cuda" arch = "sm_90" memory_limit_gb = 80 }
qpu { provider = "ibm" backend_name = "ibm_kyoto" shots = 4096 }
}
}
optimization {
pipeline = ["canonicalize", "tensor-fusion", "gate-cancellation", "layout-mapping"]
}
prediction {
budget { max_latency_ms = 200 min_fidelity = 0.92 max_memory_gb = 40 }
}
Optimisation Passes
| Pass | Domain | Description |
|---|---|---|
| Canonicalise | All | Normalise IR to canonical form |
| Constant Folding | All | Evaluate compile-time constants |
| Dead Code Elimination | All | Remove unused operations |
| Tensor Fusion | AI | Fuse MatMul+Bias+ReLU chains (30-50% bandwidth reduction) |
| Flash Attention | AI | Replace O(n^2) attention with tiled O(n) (10-20x speedup) |
| Quantisation | AI | INT8/FP8 annotation (4x model size reduction) |
| Common Subexpression Elimination | All | Deduplicate identical computations |
| Gate Cancellation | Quantum | H*H=I, Rz(a)*Rz(b)=Rz(a+b) (15-40% depth reduction) |
| Rotation Merge | Quantum | Merge consecutive rotation gates |
| Noise-Aware Schedule | Quantum | Reorder gates for maximum fidelity |
| Layout Mapping | Quantum | SABRE routing to physical qubit topology |
Current Status
| Component | Status | Coverage |
|---|---|---|
lift-core | Stable | SSA IR, types, verifier, printer, pass manager |
lift-ast | Stable | Full lexer, parser, AST, IR builder |
lift-tensor | Stable | 110 operations, shape inference, FLOP counting |
lift-quantum | Stable | 48 gates, noise models, Kraus channels, QEC codes, topology |
lift-hybrid | Stable | 21 operations, gradient methods, encoding strategies |
lift-sim | Stable | Cost models, energy model, quantum simulation, budget tracking |
lift-predict | Stable | Roofline model, budget enforcement |
lift-opt | Stable | 11 optimisation passes |
lift-import | Active | ONNX, PyTorch FX, OpenQASM 3 importers |
lift-export | Active | LLVM IR, ONNX (opset 21), OpenQASM 3 exporters |
lift-config | Stable | .lith parser and types |
lift-cli | Stable | verify, analyse, print, optimise, predict, export |
lift-codegen | Stable | programmatic model generation, multi-format export |
Test suite: 535 tests, 100% pass rate across 14 crates.
Roadmap
| Phase | Target | Milestone |
|---|---|---|
| Core IR + Dialects | Done | SSA IR, tensor/quantum/hybrid dialects complete |
| Optimisation Passes | Done | 13 passes implemented and tested |
| Analysis Engine | Done | Cost models, energy, noise simulation |
| Import/Export | Active | ONNX, PyTorch FX, LLVM, ONNX (opset 21), OpenQASM |
| Hardware Backends | Planned | CUDA PTX, native OpenQASM execution |
| Python Bindings | Planned | PyO3-based Python API |
| v1.0 Release | Q4 2026 | Full pipeline, benchmarks, arXiv paper |
Contributing
| Area | Difficulty | Description |
|---|---|---|
| CUDA PTX backend | Hard | GPU code generation for tensor ops |
| State vector simulator | Medium | Quantum circuit simulator (CPU + GPU) |
| Qiskit importer | Medium | Import Qiskit circuits into LIFT IR |
| API documentation | Easy | Rustdoc for all public items |
| Tutorials | Easy | Getting started guides and examples |
See CONTRIBUTING.md for code style and PR process.
Citation
@software{lift2025,
title = {LIFT: Language for Intelligent Frameworks and Technologies},
author = {Martial-FOSSOUO},
year = {2025},
url = {https://github.com/lift-framework/lift},
note = {Unified IR for AI and Quantum Computing}
}
License
MIT -- see LICENSE.
LIFT -- Because the future of computation is both intelligent and quantum, and it deserves a unified foundation.