-
Notifications
You must be signed in to change notification settings - Fork 6
Home
Welcome to the QuTub Transpiler documentation wiki.
QuTub Transpiler is a hardware-aware quantum circuit transpiler written in pure Rust. It provides an intermediate representation (IR), OpenQASM 2.0 parsing and emission, backend-aware compilation, routing, optimization, native gate decomposition, and fidelity estimation across multiple quantum hardware platforms.
This wiki serves as the primary technical reference for developers, contributors, researchers, and users of the project.
If you're new to QuTub Transpiler, we recommend exploring the documentation in the following order:
- Installation
- Architecture Overview
- Intermediate Representation (IR)
- Parsing OpenQASM
- Optimization Pipeline
- Backend Lowering
- Routing
- Fidelity Estimation
- Examples
- Contributing
QuTub Transpiler is organized around several major components.
The internal circuit representation used throughout the compilation pipeline.
Topics include:
- Circuit construction
- Gate definitions
- Validation
- Gate statistics
- Programmatic circuit generation
Import OpenQASM 2.0 circuits into the internal IR.
Features include:
- OpenQASM parser
- Error reporting
- Circuit validation
- Import pipeline
Optimization passes operating on the source circuit before backend lowering.
Current optimizations include gate simplification and cancellation while preserving circuit semantics.
Convert architecture-independent circuits into native instruction sets supported by specific quantum hardware.
Supported targets include:
- IBM Quantum
- Rigetti
- Trapped-Ion
Lowering performs hardware-specific gate decomposition while preserving logical circuit behavior.
Routing adapts circuits to backend connectivity constraints by inserting the necessary transformations required by each hardware topology.
Topics include:
- Coupling maps
- Connectivity constraints
- SWAP insertion
- Architecture-aware routing
Estimate circuit fidelity using backend calibration models.
The estimator enables comparison between hardware targets without requiring execution on physical quantum devices.
Export compiled circuits into backend-compatible OpenQASM for execution or further processing.
The repository includes practical examples demonstrating common workflows.
Current examples include:
- Bell state generation
- Backend cost comparison
- End-to-end transpilation
- Programmatic circuit construction
A typical compilation pipeline is:
OpenQASM 2.0
│
▼
Parser
│
▼
Intermediate Representation
│
▼
Source Optimization
│
▼
Backend Lowering
│
▼
Routing
│
▼
Backend Optimization
│
▼
Fidelity Estimation
│
▼
OpenQASM Export
Each stage is designed to operate independently, allowing applications to integrate only the functionality they require.
QuTub Transpiler is built around several core principles:
- Hardware-aware compilation
- Modular compiler architecture
- Strongly typed Rust APIs
- Backend-independent intermediate representation
- Extensible optimization framework
- Reproducible compilation
- Comprehensive documentation and examples
Community contributions are welcome.
Contributions may include:
- New optimization passes
- Additional backend support
- Documentation improvements
- Examples
- Bug fixes
- Performance improvements
- Test coverage
Please review the project's contribution guidelines before opening a pull request.
- API Documentation
- Examples
- Release Notes
- GitHub Issues
- Discussions
- Roadmap
Thank you for your interest in QuTub Transpiler.
Whether you're building quantum applications, researching compiler techniques, or contributing new functionality, we hope this documentation helps you understand and extend the project.