Architecture Documentation
Technical architecture documentation for QDash components.
Contents
Quantum Hardware
- Square Lattice Topology - Qubit layout, MUX organization, and coordinate systems for 64Q and 144Q chips
- MUX-based qubit organization
- Coordinate conversion algorithms
- Coupling topology and edge classification
- MUX resource conflict detection
Data Lineage
Provenance - Calibration data lineage tracking
- W3C PROV-DM based design
- Parameter version history and comparison
- Lineage/impact graph traversal
- MongoDB schema and indexing
Notes - Three-layer note system (inline + audit log)
- Inline notes on Qubit / Coupling / TaskResult documents
note_eventwrite-through audit log- Performance indexes (partial sparse + text search)
- Endpoints for the dashboard, knowledge feed, full-text search
Calibration Workflow
1-Qubit Scheduler - Single-qubit calibration scheduling
- Box type detection (Box A/B) from wiring configuration
- MUX-based qubit grouping by box constraints
- Stage generation for parallel/sequential execution
CR Gate Scheduler - Cross-resonance gate scheduling algorithm
- Conflict detection and graph coloring
- Fast/slow pair separation
- Greedy coloring strategies
- Integration with workflow engine
Quick Links
Related Documentation
Implementation
- 1-Qubit Scheduler:
src/qdash/workflow/engine/scheduler/one_qubit_scheduler.py - CR Scheduler:
src/qdash/workflow/engine/scheduler/cr_scheduler.py - Tests:
tests/qdash/workflow/engine/scheduler/
Configuration
- Wiring configs:
config/qubex-config/{chip_id}/config/wiring.yaml - Device topology: Generated via
scripts/generate_topology.py
Contributing
When adding new architecture documentation:
- Create a new
.mdfile in this directory - Add entry to this README with brief description
- Include diagrams using Mermaid or ASCII art
- Link to relevant implementation files
- Provide usage examples where applicable
Document Standards
Structure
Each architecture document should include:
- Overview: Purpose and scope
- Architecture: Key components and data structures
- Algorithm: Step-by-step explanation
- Examples: Code snippets and usage patterns
- References: Links to implementation and related docs
Code Examples
Use Python syntax highlighting:
python
from qdash.workflow.engine.scheduler.cr_scheduler import CRScheduler
scheduler = CRScheduler(username="alice", chip_id="64Qv3")
result = scheduler.generate()Diagrams
Use ASCII art for simple diagrams:
MUX Structure (2×2):
┌─────┬─────┐
│ 0 │ 1 │
├─────┼─────┤
│ 2 │ 3 │
└─────┴─────┘Or Mermaid for complex flows: