← Back to Benchmarks
Tier 3 Maximum — KLT MPS

105-Qubit MPS RCS

7×15 grid  ·  Depth 5  ·  MPS(χ=16)  ·  Tier 3 limit (N 55–105, d≤5)

85.6 s
Wall-clock time
105
Qubits
2,048
Distinct outcomes

What this benchmark tests

This is the Tier 3 maximum: 105 qubits at depth 5 using the KLT MPS engine. At 105 qubits, the Hilbert space has 2105 ≈ 4 × 1031 dimensions — a number that exceeds the total number of atoms in the Earth by 10 orders of magnitude. Exact statevector simulation of this system is completely infeasible; MPS is the only practical approach.

The circuit uses a 7×15 nearest-neighbour grid with alternating horizontal and vertical CX layers (Sycamore-style topology). At depth 5, the mean entropy per qubit is 0.979 bits — very close to full scrambling. All 2,048 shots produced distinct bitstrings, confirming the distribution is spread across an astronomically large output space.

Result: 105 qubits, depth 5, KLT MPS(χ=16), 2,048 shots — completed in 85.6 seconds end-to-end on a 4 vCPU / 8 GB RAM cloud instance. No GPU, no quantum hardware.

Result summary

Circuit topology7×15 grid (105 qubits)
Circuit depth5
Simulation modeKLT MPS (χ=16)
Bond dimension16
Truncation error1.727
Shots2,048
Distinct outcomes2,048 / 2,048  ✓
Mean entropy0.979 bits/qubit
Wall-clock time85.6 s
TierTier 3 (N 55–105, depth ≤5)
Hardware4 vCPU / 8 GB RAM — CPU only

Reproduce this result

Install the Qumulator SDK and run the following. Use mode='tensor' with bond_dim=16.

pip install qumulator
import os, time, math, random
from qumulator import QumulatorClient

client = QumulatorClient(
    api_url=os.environ["QUMULATOR_API_URL"],
    api_key=os.environ["QUMULATOR_API_KEY"],
)

# Tier 3 max: 105-qubit depth-5 RCS on a 7x15 nearest-neighbour grid
N, ROWS, COLS, DEPTH = 105, 7, 15, 5
rng = random.Random(3)

eng = client.circuit.engine(n_qubits=N, mode='tensor', bond_dim=16)

h_even = [(r*COLS+c, r*COLS+c+1) for r in range(ROWS) for c in range(0, COLS-1, 2)]
h_odd  = [(r*COLS+c, r*COLS+c+1) for r in range(ROWS) for c in range(1, COLS-1, 2)]
v_even = [(r*COLS+c, (r+1)*COLS+c) for r in range(0, ROWS-1, 2) for c in range(COLS)]
v_odd  = [(r*COLS+c, (r+1)*COLS+c) for r in range(1, ROWS-1, 2) for c in range(COLS)]
layers = [h_even, v_even, h_odd, v_odd]

for d in range(DEPTH):
    for q in range(N):
        eng.apply('rz', q, params=[rng.uniform(0, 2 * math.pi)])
        eng.apply('rx', q, params=[rng.uniform(0, 2 * math.pi)])
    for q0, q1 in layers[d % 4]:
        eng.apply('cx', [q0, q1])

t0 = time.time()
result = eng.run(shots=2048, seed=3, return_entropy_map=True)
elapsed = time.time() - t0

print(f"Elapsed       : {elapsed:.1f}s")
print(f"Trunc error   : {result.trunc_error:.4f}")
print(f"Mean S        : {sum(result.entropy_map)/N:.3f} bits/qubit")
print(f"Distinct      : {len(result.counts)} / {result.shots}")
About the benchmark numbers: The 85.6 s figure is the full end-to-end SDK wall-clock time measured against the Cloud Run engine (4 vCPU / 8 GB RAM), including API submission, job scheduling, simulation, and result retrieval.

Willow comparison

Google's Willow chip has 105 superconducting qubits — the same count as this benchmark. Willow runs at depth ≈ 20+ for its RCS experiments; Tier 3 caps at depth 5. At depth 5, Willow-scale circuits are within the tractable MPS regime on commodity CPU hardware. Deeper circuits (beyond depth 5 at 105 qubits) enter a regime where classical simulation cost grows exponentially and exact results become infeasible without specialised hardware.

Qumulator's Tier 3 limit is set precisely at this boundary — the maximum depth where the KLT MPS engine can reliably execute at 105 qubits within the platform's CPU resource budget.

For the largest scale — 1,000 qubits at depth 3 — see the Tier 4 benchmark.
← Back to Benchmarks