BB [[144,12,12]] on QCCD — every design, ranked

Pick a measure to rank by; click a dot to open a design.

About this board

One syndrome round of the gross code compiled onto every architecture the study reached. Each dot is a design; pick what to rank by, click a dot for its numbers and the steps in the design tool where each claim can be checked.

Click a dot to see the design's numbers, its claim, and the steps to check it on.
Submit a design

Coloured dots are submitted designs, each credited.

Disqualified — not ranked

Not ranked: each breaks a rule or the task’s hardware budget.

designfamilybreaksR10
grid13x13, 312 traps, direct wiring and direct control
a real direct machine: grid13x13 with control.model 'direct', so a cycle may play several waveforms. It does in most: 930 of 1,319 transport cycles move ions in two to eight directions at once (up to 10 distinct motions, 11 waveforms with the hold), and the round takes 405.6 ms at 4.8 ions per instruction -- against 866.1 ms for the same lattice told to play one waveform a cycle (12). Every site has channels of its own: no select bits, and 12,480 DACs, over the task's 128.
latticeover budget: dacs 12480 > max_dacs 128passed
grid11x11, 220 traps, direct control, as drawn -- no control electrodes survive
the fastest lattice, as a direct machine: 376.7 ms at 4.95 ions per instruction, 883 of 1,208 cycles moving ions in two to eight directions at once. And a die with zero control electrodes: every trap is 112.5 um from two junctions whose keep-outs reach 180 um. 8,800 DACs.
latticeover budget: dacs 8800 > max_dacs 128passed
grid11x11 at junction pitch 2, direct control -- the same programme
node-for-node the same graph as 10, pulled apart so its traps clear the keep-outs: the same programme (compiling it here gives the identical instruction list), the same 376.7 ms and 25 rules, 35.6 mm2 instead of 9.4. Still not buildable by today's DRC: 110 traps get no control-electrode pair and the other 110 get 2 of the 3 required.
latticeover budget: dacs 8800 > max_dacs 128passed
dual144, two concentric loops joined at 24 couplings -- fails R2
compiles, then fails R2: a coupled ancilla site is degree 3, and a junction may hold one ion. It cannot both house an ancilla and receive a rider.
two loopsR2 R20 R23passed
racetrack240: a closed loop, no junctions, no docks
the cheapest transport in the study, unusable: rigid rotation preserves cyclic order so two riders never meet, and a loop has one route.
junction-free loopover budget: dacs 272 > max_dacs 128not run
racetrack480: the same loop at 35% occupancy
free space is not the constraint: a lattice routes at 76% occupancy, this loop cannot at 35%.
junction-free loopover budget: dacs 512 > max_dacs 128not run
chain400: a line of 400 traps
a line has no closed loop for rotation and one route for the router.
lineover budget: dacs 9600 > max_dacs 128not run
grid9x9: 144 traps for 168 qubits
genuinely too small -- the one lattice verdict that was right.
latticeover budget: dacs 5760 > max_dacs 128not run
torus 12x12, 288 traps, 72 ancillas -- the code's own shape
a periodic lattice, every row and column a closed loop, with one ancilla per check pair: 516.4 ms at 3.79 ions per instruction, against the planar grid's 648.1 at 72 ancillas (22) and 869.9 at 24 (23). The wrap is worth 1.25x, the ancillas 1.34x. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine. The study's 97 ms was this programme before the R22 split, several motions a cycle.
torusR20 R21 over budget: dacs 11520 > max_dacs 128passed
torus 12x12 with the code-aware placement, 72 ancillas
the code's cell (i, j) laid at columns i, rows 2j and 2j+1 via --init-placement: 462.8 ms at 4.54 ions per instruction, 1.12x the compiler's own placement (20, 516.4 ms). It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine. Before the R22 split the two placements tied (the study's 99 and 97 ms).
torusR20 R21 over budget: dacs 11520 > max_dacs 128passed
grid12x12, 264 traps, 72 ancillas
the same planar grid as q06h's lattices with 72 ancillas instead of 24: 648.1 ms instead of 869.9 (23), 1.34x. The lattice family's 24-ancilla numbers were ancilla-starved. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine.
latticeover budget: dacs 10560 > max_dacs 128passed
grid12x12, 264 traps, 24 ancillas
the control for the ancilla count: the q06h tier, 869.9 ms at 2.62 ions per instruction -- level with grid13x13 under the same model (12, 866.1 ms). It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine.
latticeover budget: dacs 10560 > max_dacs 128passed
cylinder 12x12 -- twelve concentric rings joined by spokes, 72 ancillas
the torus drawn as a chip with no crossings: each row a closed ring, the columns radial spokes. Under one waveform a cycle it is the slowest of the lattices that pass every rule: 1,254.2 ms at 1.08 ions per instruction, against the torus's 516.4 and the planar grid's 648.1. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine. The study's 106 ms, which kept most of the torus's speed, was the programme before the R22 split.
torusover budget: dacs 11040 > max_dacs 128passed
annulus 12x12 -- the cylinder plus the y-wrap through 120 crossings, 72 ancillas
a true torus on a plane needs 120 crossings, and every one lands on a ring wire, so the x-hops pay for the y-wrap: 1,489.5 ms, the slowest compiled lattice on the board. The wrap is not worth its crossings. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine.
torusR20 R21 over budget: dacs 11520 > max_dacs 128; over budget: junctions 264 > max_junctions 200passed
torus 12x12 with 10% of its wires rewired at random, 72 ancillas
28 random swaps take the torus from diameter 12 to 8, and under one waveform a cycle the shorter distances do not pay: the round goes from 516.4 to 1,125.5 ms, one ion per transport instruction. Not drawable: every shortcut would be crossings on a chip. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine. Before the R22 split it was 82 ms.
random graphR20 R21 over budget: dacs 11520 > max_dacs 128passed
a random 4-regular graph on 144 junctions, 72 ancillas
the torus's degrees with none of its geometry: diameter 6, 1,036.1 ms at one ion per transport instruction. An expander beats every lattice on distance and has hundreds of crossings in practice. It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine.
random graphR20 R21 over budget: dacs 11520 > max_dacs 128passed
the code's Tanner graph as the machine -- every contact one hop, 72 ancillas
a hub per check and per data qubit, a contact trap on each of the 864 Tanner edges: no device makes the contacts shorter. 856.5 ms at one ion per transport instruction -- under the random graphs (1,036 and 1,126 ms), over the torus (516.4). It runs under the one-waveform model (control.model simd_classes: one motion a cycle, the R22 split) on direct wiring, so its time is an upper bound for a direct machine. Before the R22 split it was 79.5 ms.
random graphR19 R20 R21 over budget: dacs 46080 > max_dacs 128; over budget: junctions 288 > max_junctions 200passed
a random geometric graph: 139 points joined within a radius, mean degree 6
random AND local, the way a die is: the worst of both. Locality without structure does not route.
random graphR19 R20 R21 over budget: dacs 15160 > max_dacs 128not run