About Contact Sign in

An orchestration layer for heterogeneous compute.

Run quantum-classical workloads across any backend — reproducible, observable, without rolling your own orchestration.

What it is
A workflow engine for QPU + GPU + CPU jobs, with reproducible runs and durable state.
Who it's for
Platform / DevOps teams at HPC centers and enterprises adding quantum to existing infrastructure.
How it runs
Python SDK and CLI. Hardware-agnostic. Multi-vendor backends: IBM, AWS Braket, Azure, NVIDIA.

INTEGRATES WITH

IBM Quantum AWS Braket Google Cloud NVIDIA Azure Quantum

Submit a circuit. Watch it run. Get a result.

Two decorators. Automatic parallelization. Any quantum or classical backend. The same code targets a QPU, a local simulator, or a GPU-accelerated simulator.

from marqov import task, workflow, bell_state
from marqov.executors import LocalExecutor

@task
async def measure(shots):
    result = await LocalExecutor().execute(bell_state(), shots=shots)
    return result.counts

@workflow
def multi_shot_study(shot_counts):
    return [measure(n) for n in shot_counts]  # all run in parallel

dispatch = multi_shot_study([100, 500, 1000, 5000])
# dispatch.run(client) — needs a Temporal worker
# Use the Marqov platform or run your own: see marqov/workflows/
# Run a workflow
$ marqov run study.py::multi_shot_study \
    --arg shot_counts=[100,500,1000,5000] --wait
Workflow: multi_shot_study
Module: study.py
Arguments: {'shot_counts': [100, 500, 1000, 5000]}

Connecting to Temporal at localhost:7233...
Starting workflow: multi-shot-study-abc12345
Waiting for result...

# Check workflow status
$ marqov status multi-shot-study-abc12345
Workflow: multi-shot-study-abc12345
Status: RUNNING
Run ID: 3f8a2c1d-...
Started: 2026-06-03 10:22:00

# Start a worker
$ marqov worker start --task-queue marqov
Connecting to Temporal at localhost:7233...
Starting worker on task queue: marqov
Worker running. Press Ctrl+C to stop.
from marqov import Circuit

# Fluent API — build circuits naturally
circuit = Circuit().h(0).cnot(0, 1).rz(0.5, 0)

# Convert to any backend format
braket = circuit.to_braket()
qiskit = circuit.to_qiskit()
qasm   = circuit.to_openqasm(version=2)

# Import from other frameworks
circuit = Circuit.from_qiskit(qiskit_circuit)
circuit = Circuit.from_openqasm(qasm_string)

# Execute locally — no credentials needed
from marqov.executors import LocalExecutor
result = await LocalExecutor().execute(circuit, shots=1000)
print(result.counts)  # {"00": 512, "11": 488}

The Missing Layer in Your Compute Stack

DevOps

FocusSoftware delivery
OwnerDev/SRE teams
GoalUptime & reliability
PracticeCI/CD, monitoring

MLOps

FocusML lifecycle management
OwnerML engineers
GoalReproducibility & scale
PracticeTraining, pipelines

Hybrid Orchestration

Marqov
FocusQuantum-classical workloads
OwnerResearch & compute engineers
GoalEfficiency & hardware abstraction
PracticeScheduling, resource optimization

How Marqov fits in your compute stack.

We sit between your workloads and the heterogeneous hardware they need. You write workflows. We handle scheduling, state, and observability across every backend.

Your code
Workflows
Python SDKCLIWorkflow YAML
Marqov
Orchestration layer
SchedulerDurable stateObservabilityReproducibility
Hardware
Backends
IBM QuantumAWS BraketAzure QuantumNVIDIAOn-prem HPCSimulators

What changes when you adopt Marqov.

The alternative is rolling your own orchestration on top of vendor SDKs — which most teams do. Here's what shifts, and where each option still wins.

Roll your own Vendor SDK Marqov
Multi-backend support Partial ✗ Single vendor ✓ Multi-vendor
Durable workflow state ✗ Build yourself Partial ✓ Built in
Reproducibility Partial ✓ First-class
Observability ✗ DIY logging Partial ✓ Per-job traces
Maintenance burden High Medium Low
Vendor lock-in None High None
Maturity As mature as the team that wrote it Mature Early / growing
Vendor support / SLA Internal team Vendor SLA Best-effort during early access
Production deployments Many in-house Many In pilot

Hardware we run on.

Multi-vendor. Your workloads stay portable.

Quantum

  • IBM Quantum
  • AWS Braket
  • Azure Quantum
  • IonQ
  • Rigetti
  • QuEra

Classical / HPC

  • SLURM
  • Kubernetes
  • Bare-metal HPC
  • AWS EC2
  • GCP Compute
  • Azure VMs

Accelerated

  • NVIDIA CUDA
  • NVIDIA cuQuantum
  • AMD ROCm