Table of Contents
- Introduction
- What Is Qiskit Runtime?
- Benefits of Qiskit Runtime for Real-Time Experiments
- Architectural Overview
- Supported Quantum Algorithms and Use Cases
- Runtime Programs: Prebuilt and Custom
- Setting Up Access to Qiskit Runtime
- Qiskit Runtime Primitives: Estimator and Sampler
- Creating a Real-Time Quantum Experiment Workflow
- Example: Variational Circuit Using Estimator
- Running Experiments on Dedicated IBM QPUs
- Managing Sessions and Runtime Jobs
- Monitoring Job Progress and Logs
- Result Retrieval and Error Handling
- Integrating Classical Feedback in Runtime
- Runtime Performance and Cost Considerations
- Writing Custom Qiskit Runtime Programs
- Debugging and Testing Runtime Programs
- Reproducibility and Metadata Logging
- Conclusion
1. Introduction
Qiskit Runtime enables real-time quantum-classical hybrid experiments by reducing latency between quantum executions and classical computations. It empowers researchers to run more efficient and scalable algorithms on IBM quantum devices.
2. What Is Qiskit Runtime?
A container-based execution environment hosted on IBM Cloud that accelerates quantum workloads by running them close to the QPU and within a single session.
3. Benefits of Qiskit Runtime for Real-Time Experiments
- Up to 100x speedup vs traditional workflows
- Lower roundtrip latency
- State persistence across iterations
- Cost-efficient execution for large-scale variational algorithms
4. Architectural Overview
- Client: Python script using
qiskit-ibm-runtime
- Runtime container: runs prebuilt or custom programs
- Backend: IBM QPU or simulator
5. Supported Quantum Algorithms and Use Cases
- VQE, QAOA, QNNs
- Ground state estimation
- Kernel estimation
- Variational optimization
6. Runtime Programs: Prebuilt and Custom
- Prebuilt:
sampler
,estimator
,vqe
,qaoa
- Custom: define your own loop logic and operations
7. Setting Up Access to Qiskit Runtime
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel="ibm_quantum", token="YOUR_TOKEN")
8. Qiskit Runtime Primitives: Estimator and Sampler
from qiskit_ibm_runtime import Estimator, Session
with Session(service=service, backend="ibmq_qasm2") as session:
estimator = Estimator(session=session)
job = estimator.run(circuit, observables)
9. Creating a Real-Time Quantum Experiment Workflow
- Define circuit and observable
- Set runtime options (shots, optimization level)
- Loop within session for parameter updates
10. Example: Variational Circuit Using Estimator
from qiskit.circuit import Parameter
theta = Parameter("θ")
circuit = QuantumCircuit(1)
circuit.rx(theta, 0)
11. Running Experiments on Dedicated IBM QPUs
Use Premium Plan for lower queue times and reserved access.
12. Managing Sessions and Runtime Jobs
- Sessions can contain multiple job executions
- Monitor with
session.jobs
andjob.status()
13. Monitoring Job Progress and Logs
job = estimator.run(...)
job.result()
job.status()
job.logs()
14. Result Retrieval and Error Handling
- Retry failed jobs
- Handle network exceptions
- Use callback functions for streaming output
15. Integrating Classical Feedback in Runtime
Within a session, use:
- Intermediate classical calculations
- Optimizer feedback for parameter tuning
16. Runtime Performance and Cost Considerations
- Runtime execution incurs per-second billing
- Sessions reduce roundtrip API calls
17. Writing Custom Qiskit Runtime Programs
- Create
main()
entry withProgramContext
- Package and deploy via IBM Quantum Dashboard
18. Debugging and Testing Runtime Programs
- Use local simulator for testing
- Log intermediate data
- Validate output consistency
19. Reproducibility and Metadata Logging
- Record session ID, backend, transpiled circuit hash
- Log optimizer state and iteration data
20. Conclusion
Qiskit Runtime revolutionizes real-time quantum experimentation by offering faster, more integrated, and scalable workflows. Whether you’re running variational algorithms or real-time kernel estimation, this environment makes quantum computing more practical and powerful.