Applied Quantum Computing Case Study of Application Optimisation & Reliability- Oil & Gas Exploration Industry.
"Quantum QAOA + GPU Geophysics: Slashing Sub‑Surface Search Space"
1 | Domain Challenge
Seismic inversion and drilling‑site selection require scanning a vast combinatorial set of sub‑surface parameter grids (strata thickness, fault probability, porosity, pressure). Classical heuristic search with 64×H200 cluster already costs USD 250 k per run and delivers results in 18 h—too slow for on‑the‑fly decision‑making during exploratory drilling.
2 | Hybrid Solution
Keep coarse‑grained forward modelling on GPUs,
→ off‑load combinatorial subset selection to a QAOA (Quantum Approximate Optimisation Algorithm) circuit running on Rigetti’s Aspen‑M 80Q.
🔍 Notes:
QPU Sidecar: Lives close to GPU pods, calls Rigetti QCS via gRPC.
Rigetti QCS: Executes the QAOA circuit on Aspen-M (80-qubit superconducting QPU).
Redis: Sits between quantum and classical layers, decoupling inference from training loop.
Training: Final model training uses both classical (FFT) and quantum-enhanced inputs.
3 | Ignition & K8s Setup
* Flatcar 4020.2.1* nodes for both GPU and CPU pods. QPU gateway deployed via Helm; mTLS via Linkerd.
Indicative Project Source code
Example helm values:
rigetti:
apiKeySecret: rigetti-creds
sessionCap: 4
redis:
resources:
limits:
memory: 2Gi
4 | Cirq Implementation (excerpt)
import cirq, numpy as np
from qcs_api_client.client import QCSClient
qubits = cirq.LineQubit.range(8) # 8‑bit subset of 80Q
beta, gamma = cirq.Symbol('beta'), cirq.Symbol('gamma')
# Cost Hamiltonian for layered strata selection
cost_ops = [cirq.Z(q0)*cirq.Z(q1) for q0,q1 in zip(qubits, qubits[1:])]
def qaoa_layer(b, g):
return [cirq.rx(2*np.pi*b)(q) for q in qubits] + \
[cirq.CZ(q0, q1)**g for q0,q1 in zip(qubits, qubits[1:])]
circuit = cirq.Circuit()
for _ in range(4): # p=4 layers
circuit += qaoa_layer(beta, gamma)
client = QCSClient.load()
job = client.execute_qasm(circuit.to_qasm(), shots=2_000)
5 | Sidecar Flow
Latency: 12.8 ms (network) + 5 μs (QPU) + 3 ms (decode) per call.
Caching repeated parameter sweeps reduces QPU bill by 40 %.
6 | Outcome
Search‑space pruned from 2.6 × 10⁶ combos → top 50 candidate strata in 2.5 h, 90 % cost saved, 18 → 2.5 h turnaround.
Operators drilled Site‑B‑42 with 8.3 % higher hit rate in preliminary core samples.
7 | Lessons & Trade‑offs
QAOA variance high; must run > 2 000 shots.
mTLS adds ~0.9 ms overhead—acceptable.
Flatcar update window coordinated so sidecar restarts did not abort running QCS jobs (idempotent replay id maintained).