QuPort Documentation¶
QuPort is a Python and Qiskit toolkit for modeling, mapping, routing, splitting, scheduling, and benchmarking quantum circuits on modular multi-QPU machines. The project models each QPU as a block of compute and communication qubits, exposes multiple interconnect abstractions, and provides both global-routing and explicit distributed-compilation workflows.
Documentation map¶
Page |
What it answers |
Primary audience |
|---|---|---|
How do I install QuPort and run the first mapping/compile? |
New users |
|
What are the machine, partitioning, routing, and scheduling models? |
Researchers and users interpreting results |
|
How many EPR pairs does a partition cost, and how are cross-QPU gates aggregated? |
Researchers comparing communication cost |
|
What does every config/latency field mean, and how do fields interact? |
Experiment authors |
|
What commands are available and what files do they produce? |
CLI users and automation authors |
|
What Python objects/functions are public and what do they return? |
Library users |
|
What are complete snippets for common workflows? |
Notebook/script authors |
|
How should contributors test, format, type-check, and update docs? |
Contributors |
Recommended reading order¶
Start with Getting started if you want to run QuPort quickly.
Read Concepts before interpreting benchmark or scheduling numbers.
Read Entanglement model before comparing EPR-pair or e-bit figures.
Use Configuration while designing architecture sweeps.
Use API reference while writing experiments against the Python API.
Use CLI reference when scripting command-line workflows.
Use Development before contributing changes.
Workflow decision guide¶
Goal |
Recommended entry point |
Why |
|---|---|---|
Compare mapped-circuit depth/SWAPs across partitioning strategies |
|
Produces one globally routed Qiskit circuit and standard circuit metrics |
Produce per-QPU local programs and explicit remote operations |
|
Keeps cross-QPU gates as remote events instead of hiding them inside global routing |
Run repeated random-circuit comparisons |
|
Writes row-oriented benchmark metrics suitable for CSV analysis |
Sweep topology/port settings |
|
Aggregates repeated benchmark rows by architecture setting |
Count EPR pairs and inspect the communication plan |
|
Reports e-bit demand after cat-entanglement aggregation, not just cut gates |
See what letting qubits move mid-circuit would save |
|
Prices time-varying placement against static placement in the same e-bit model |
Judge how good a partition actually is |
|
Solves the same instance exactly, so a heuristic’s result has a scale to be read against |
Check that a schedule manifest adds up |
|
The topology audit re-derives every figure in a plan independently; the entanglement audit, which has no event log to replay, checks the resource bounds its totals must satisfy |
Inspect communication bottlenecks |
|
Returns layer/round traces with absolute timing, port usage, link utilization, and a validated JSON-ready |
Documentation accuracy policy¶
The API reference mirrors the exported objects in quport.__all__ and the CLI
reference mirrors the Typer commands in quport.cli. If a public symbol, command,
configuration field, output artifact, validation rule, or conceptual model changes,
update the corresponding page in this directory in the same pull request.
When docs and implementation disagree, treat the implementation and tests as the source of truth, then fix the documentation immediately. For behavior that is subtle or research-model dependent, document both what QuPort currently does and what it does not claim to model.