<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>qec.Codes</title>
<link>https://qec.codes/</link>
<atom:link href="https://qec.codes/index.xml" rel="self" type="application/rss+xml"/>
<description>Quantum error correction and fault-tolerant quantum computing architectures at the University of Edinburgh</description>
<generator>quarto-1.8.27</generator>
<lastBuildDate>Mon, 09 Mar 2026 00:00:00 GMT</lastBuildDate>
<item>
  <title>Vibe Decoding Quantum Error Correction with CUDA</title>
  <dc:creator>Stergios Koutsioumpas</dc:creator>
  <dc:creator>Joschka Roffe</dc:creator>
  <link>https://qec.codes/blog/vibe_gpu/</link>
  <description><![CDATA[ 





<blockquote class="blockquote">
<p>This work was carried out as part of the Grace Hopper Superchip Seed Program between NVIDIA, Supermicro and the University of Edinburgh.</p>
</blockquote>
<p>Quantum error correction is essential for scalable quantum computing. In practice, any quantum error correction protocol must be paired with a classical co-processor running a decoding algorithm that processes syndrome data in real time. This places high demands on both the speed and accuracy of the classical hardware. In superconducting quantum computing, it is widely cited that the required end-to-end latency of the error-correction cycle, including syndrome measurement, decoding, and recovery, will need to be in the sub-microsecond regime.</p>
<p>In this blog post, we describe how we implemented the recently proposed Vibe decoder for quantum error correction <span class="citation" data-cites="koutsioumpas2025colour">(Koutsioumpas et al. 2025)</span> on an NVIDIA GH200 Superchip. We show microsecond decoding throughput for simulations under uniform noise at the target hardware error rate of 0.1%, as well as high suppression factors when applied to colour code experimental data from the Google Quantum AI Willow chip <span class="citation" data-cites="acharya2024willowchip sivak2025reinforcement">(Acharya et al. 2024; Sivak et al. 2025)</span>.</p>
<section id="why-colour-codes" class="level2">
<h2 class="anchored" data-anchor-id="why-colour-codes">Why Colour Codes?</h2>
<p>For many years, the surface code has been the de facto standard for quantum error correction. Qubits are arranged on a two-dimensional grid, and errors are detected by repeatedly measuring local parity checks between neighbouring qubits. Its appeal lies in its conceptual simplicity, strictly local interactions, and high error threshold. Notably, Google Quantum AI recently demonstrated surface-code quantum memories operating below threshold, where logical errors decrease as the code distance increases <span class="citation" data-cites="google2022bellowthreshold google2025willow">(Google Quantum AI 2023; Google Quantum AI and Collaborators 2025)</span>.</p>
<div id="fig-codes" class="quarto-layout-panel">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-codes-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<div class="quarto-layout-row">
<div class="quarto-layout-cell" style="flex-basis: 50.0%;justify-content: flex-start;">
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/vibe_gpu/fig/surface_code_rotated_d5.svg" height="300" class="figure-img"></p>
<figcaption>Surface code</figcaption>
</figure>
</div>
</div>
<div class="quarto-layout-cell" style="flex-basis: 50.0%;justify-content: flex-start;">
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/vibe_gpu/fig/colour_code.svg" height="300" class="figure-img"></p>
<figcaption>Colour code</figcaption>
</figure>
</div>
</div>
</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-codes-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: Distance-5 surface code (left) and colour code (right). The surface code offers conceptual simplicity and high error thresholds but requires significant overhead for fault-tolerant logical gates. The colour code supports transversal single-qubit Clifford gates and low-overhead T gates via magic-state cultivation, but has historically lacked efficient decoders.
</figcaption>
</figure>
</div>
<p>The surface code’s main drawback is the overhead of fault-tolerant logic. Even single-qubit logical Clifford operations typically require lattice surgery and careful scheduling, while T gates rely on costly magic-state distillation. As a result, large-scale surface-code architectures are expected to devote most physical qubits to producing and consuming magic states rather than storing data.</p>
<p>The colour code offers an attractive alternative. It supports transversal single-qubit Clifford gates with minimal overhead and is at the core of recent proposals for significantly reducing T-gate costs through magic-state cultivation <span class="citation" data-cites="gidney2024magicstatecultivationgrowing">(Gidney, Shutty, and Jones 2024)</span>. However, its adoption has been limited by the lack of fast, scalable decoders capable of operating accurately within the stringent sub-microsecond latency constraints of real-time quantum error correction.</p>
</section>
<section id="vibe-decoding-the-colour-code" class="level2">
<h2 class="anchored" data-anchor-id="vibe-decoding-the-colour-code">Vibe decoding the colour code</h2>
<p>In our recent paper <span class="citation" data-cites="koutsioumpas2025colour">(Koutsioumpas et al. 2025)</span>, we introduced the vibe decoder which, for the first time, demonstrates that colour codes can match surface code performance under a decoder with polynomial-bounded runtime. This method works by combining multiple Belief Propagation (BP) decoders, in an ensemble with OSD or LSD postprocessing <span class="citation" data-cites="hillmann2025localized">(Hillmann et al. 2025)</span>. Each ensemble member is configured with a permuted schedule, with the aim of obtaining multiple possible solutions to the decoding problem for each syndrome; our scheme selects the best candidate solution and uses this as the prediction. In <span class="citation" data-cites="koutsioumpas2025colour">(Koutsioumpas et al. 2025)</span>, we outlined the algorithm and implemented proof-of-concept numerical simulations on a CPU, showing that the colour code decoded with the Vibe Decoder matches the performance of the surface code decoded with correlated minimum-weight perfect-matching algorithm from the PyMatching package <span class="citation" data-cites="higgott2025sparse">(Higgott and Gidney 2025)</span>.</p>
<div id="fig-workflow" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-workflow-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://qec.codes/blog/vibe_gpu/fig/workflow.svg" class="img-fluid figure-img" style="width:80.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-workflow-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: Workflow of the Vibe Decoder. In the offline stage, L permutations are generated to initialise the ensemble of BP decoders. During online decoding, each decoder processes the syndrome using serial-schedule BP updates until convergence or the iteration limit. If at least M decoders converge, the others are terminated and the most likely correction is chosen from the successful candidates. If no decoder converges, the normalised average of their soft outputs is passed to LSD for final decoding.
</figcaption>
</figure>
</div>
<div id="fig-footprint-comparison" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-footprint-comparison-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://qec.codes/blog/vibe_gpu/fig/comparison.svg" class="img-fluid figure-img" style="width:80.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-footprint-comparison-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: Qubit footprint required to reach a target logical error rate at physical error rate 0.01% for colour codes decoded with the Vibe Decoder <span class="citation" data-cites="koutsioumpas2025colour">(Koutsioumpas et al. 2025)</span> compared to surface codes decoded with correlated minimum-weight perfect matching <span class="citation" data-cites="higgott2025sparse">(Higgott and Gidney 2025)</span>. The Vibe Decoder demonstrates that colour codes achieve an overhead nearly identical to that of the surface code, establishing colour codes as a practical architecture with comparable qubit resource requirements to the industry-standard surface code.
</figcaption>
</figure>
</div>
</section>
<section id="vibe-decoding-on-a-gpu" class="level2">
<h2 class="anchored" data-anchor-id="vibe-decoding-on-a-gpu">Vibe Decoding on a GPU</h2>
<p>In recent months, we have been working with NVIDIA and Supermicro as part of the Grace Hopper Superchip Seed Programme. Our primary goal has been to make the Vibe Decoder fast enough to support sub-microsecond throughput for simulation and benchmarking of colour code architectures.</p>
<p>The GH200 GPU enables high parallelisation, allowing efficient memory-local operations. Our Vibe Decoder maps naturally to this parallel setting, as each BP decoder operates independently within the ensemble. We implement various optimisations to the BP message schedules, to ensure full use of the GPUs memory bandwidth, as well as implementing batching over shots.</p>
<p>In our timing tests and simulations, we used ensemble sizes of six, selected to optimally permute the decoding graph. The BP iteration depth was limited to six, with an early exit triggered at first convergence. Under these settings, the ensemble performs an average of two iterations up to colour codes of distance 9. While this configuration slightly reduces accuracy, its polynomially-bounded worst-case runtime (<img src="https://latex.codecogs.com/png.latex?O(n%5E3)">, where <img src="https://latex.codecogs.com/png.latex?n"> is the number of columns in decoding graph) and average throughput enable sub-microsecond decoding throughput for superconducting platforms up to distance 7. Further optimisations are under investigation.</p>
</section>
<section id="vibe-decoding-experimental-data" class="level2">
<h2 class="anchored" data-anchor-id="vibe-decoding-experimental-data">Vibe Decoding Experimental Data</h2>
<p>Recent demonstrations of colour codes on the Google Quantum AI Willow chip <span class="citation" data-cites="acharya2024willowchip bluvstein2025colourcode">(Acharya et al. 2024; Bluvstein et al. 2025)</span> mark a significant advance in quantum error correction. As part of our benchmarks, we evaluated our Vibe Decoder GH200 implementation on open-source experimental data from the Willow experiment. Without any training, our method matches the performance of the neural-network <span class="citation" data-cites="senior2025alphaqubit bonilla2025neural">(Senior et al. 2025; Bonilla Ataides et al. 2025)</span> and integer-programming decoders <span class="citation" data-cites="beni2025tesseract">(Beni, Higgott, and Shutty 2025)</span> reported in the original study, both of which were extensively trained on device-specific data. With device calibration and modest tuning of the ensemble, colour-code performance could approach that of surface codes, addressing one of the remaining obstacles to surpassing them experimentally.</p>
<div id="fig-experimental-thresholds" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-experimental-thresholds-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://qec.codes/blog/vibe_gpu/fig/experimental_thresholds.svg" class="img-fluid figure-img" style="width:100.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-experimental-thresholds-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: Logical error rate vs physical error rate for distance 3, 5, and 7 colour codes on experimental data from the Google Quantum AI Willow chip. The Vibe decoder achieves comparable error suppression to the more complex simplex (integer-programming) and neural-network decoders. By contrast, the Chromobius decoder <span class="citation" data-cites="gidney2023chromobius">(Gidney and Jones 2023)</span>, previously the leading polynomial-time decoder for this setting, does not achieve error suppression on this dataset.
</figcaption>
</figure>
</div>
<p>Figure&nbsp;4 summarises these results. The Vibe decoder achieves comparable error suppression between distance 3 and 5 colour codes to the more complex simplex (integer-programming) and neural-network decoders. By contrast, the Chromobius decoder <span class="citation" data-cites="gidney2023chromobius">(Gidney and Jones 2023)</span>, also shown in Figure&nbsp;4 and previously the leading polynomial-time decoder for this setting, does not achieve error suppression on this dataset.</p>
<div id="fig-runtime" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-runtime-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<img src="https://qec.codes/blog/vibe_gpu/fig/ler_vs_runtime.svg" class="img-fluid figure-img" style="width:100.0%">
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-runtime-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;5: Average per-round decoding time for the Vibe decoder compared to the Tesseract decoder across different colour code distances. Microsecond decoding throughput is achieved for distance 3, 5, and 7 colour codes. The Tesseract decoder is currently around 900× slower for distance 5 and 7 codes.
</figcaption>
</figure>
</div>
<p>Figure&nbsp;5 shows the average per-round decoding time, averaged over the batch, for the Vibe decoder. Microsecond decoding throughput is achieved for distance 3, 5, and 7 colour codes. At present, the closest competitor with comparable accuracy is the Tesseract decoder <span class="citation" data-cites="beni2025tesseract">(Beni, Higgott, and Shutty 2025)</span>. As shown in Figure&nbsp;5, it is currently around 900× slower for distance 5 and 7 codes.</p>
</section>
<section id="summary" class="level2">
<h2 class="anchored" data-anchor-id="summary">Summary</h2>
<p>Our results also indicate that NVIDIA GPUs are an excellent platform for decoder optimisation. The architecture offers massive parallelism that maps naturally onto ensemble decoding, delivers throughput far beyond what is practical on CPUs, and enables much faster development cycles than specialised targets such as FPGAs. This allows rapid iteration over algorithmic variants, memory layouts, and kernel-level optimisations while maintaining a clear path to practical real-time decoding performance.</p>
<p>Looking ahead, further performance gains are likely through additional kernel optimisation, improved memory locality, and tighter integration with hardware-specific features of modern GPU architectures. An especially promising direction is to move beyond batch-based decoding and explore GPU implementations designed for streaming operation. In such a setting, syndrome data could be processed continuously as it is generated by the quantum processor, enabling GPUs to operate as real-time decoders connected directly to QPU hardware through high-bandwidth interfaces such as NVQLink <span class="citation" data-cites="caldwell2025platformarchitecturetightcoupling">(Caldwell et al. 2025)</span>. This would open a practical pathway towards deploying GPU-based decoders in large-scale quantum computing systems.</p>
<p>The combination of the Vibe decoder’s algorithmic efficiency and GPU acceleration demonstrates that colour codes can now compete with surface codes not only in theoretical metrics but also in terms of decoding performance. With microsecond-scale throughput achieved on current hardware and a clear path toward further optimisation, colour-code quantum error correction is becoming a viable option for near-term fault-tolerant quantum computing architectures.</p>



</section>

<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-bibliography"><h2 class="anchored quarto-appendix-heading">References</h2><div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-acharya2024willowchip" class="csl-entry">
Acharya, Rajeev et al. 2024. <span>“Quantum Error Correction with the Willow Chip.”</span> <em>Nature</em>. <a href="https://doi.org/10.1038/s41586-024-08449-y">https://doi.org/10.1038/s41586-024-08449-y</a>.
</div>
<div id="ref-beni2025tesseract" class="csl-entry">
Beni, Laleh Aghababaie, Oscar Higgott, and Noah Shutty. 2025. <span>“Tesseract: A Search-Based Decoder for Quantum Error Correction,”</span> March. <a href="https://doi.org/10.48550/ARXIV.2503.10988">https://doi.org/10.48550/ARXIV.2503.10988</a>.
</div>
<div id="ref-bluvstein2025colourcode" class="csl-entry">
Bluvstein, Dolev et al. 2025. <span>“Logical Quantum Processor Based on Reconfigurable Atom Arrays.”</span> <em>Nature Physics</em>. <a href="https://doi.org/10.1038/s41567-025-03070-w">https://doi.org/10.1038/s41567-025-03070-w</a>.
</div>
<div id="ref-bonilla2025neural" class="csl-entry">
Bonilla Ataides, J. Pablo, Andi Gu, Susanne F. Yelin, and Mikhail D. Lukin. 2025. <span>“Neural Decoders for Universal Quantum Algorithms,”</span> September. <a href="https://doi.org/10.48550/ARXIV.2509.11370">https://doi.org/10.48550/ARXIV.2509.11370</a>.
</div>
<div id="ref-caldwell2025platformarchitecturetightcoupling" class="csl-entry">
Caldwell, Shane A., Moein Khazraee, Elena Agostini, Tom Lassiter, Corey Simpson, Omri Kahalon, Mrudula Kanuri, et al. 2025. <span>“Platform Architecture for Tight Coupling of High-Performance Computing with Quantum Processors.”</span> <a href="https://arxiv.org/abs/2510.25213">https://arxiv.org/abs/2510.25213</a>.
</div>
<div id="ref-gidney2023chromobius" class="csl-entry">
Gidney, Craig, and Cody Jones. 2023. <span>“New Circuits and an Open Source Decoder for the Color Code.”</span> <a href="https://arxiv.org/abs/2312.08813">https://arxiv.org/abs/2312.08813</a>.
</div>
<div id="ref-gidney2024magicstatecultivationgrowing" class="csl-entry">
Gidney, Craig, Noah Shutty, and Cody Jones. 2024. <span>“Magic State Cultivation: Growing t States as Cheap as CNOT Gates.”</span> <a href="https://arxiv.org/abs/2409.17595">https://arxiv.org/abs/2409.17595</a>.
</div>
<div id="ref-google2022bellowthreshold" class="csl-entry">
Google Quantum AI. 2023. <span>“Suppressing Quantum Errors by Scaling a Surface Code Logical Qubit.”</span> <em>Nature</em> 614 (February): 676–81. <a href="https://doi.org/10.1038/s41586-022-05434-1">https://doi.org/10.1038/s41586-022-05434-1</a>.
</div>
<div id="ref-google2025willow" class="csl-entry">
Google Quantum AI and Collaborators. 2025. <span>“Quantum Error Correction Below the Surface Code Threshold.”</span> <em>Nature</em>. <a href="https://doi.org/10.1038/s41586-025-09061-4">https://doi.org/10.1038/s41586-025-09061-4</a>.
</div>
<div id="ref-higgott2025sparse" class="csl-entry">
Higgott, Oscar, and Craig Gidney. 2025. <span>“Sparse Blossom: Correcting a Million Errors Per Core Second with Minimum-Weight Matching.”</span> <em>Quantum</em> 9 (January): 1600. <a href="https://doi.org/10.22331/q-2025-01-20-1600">https://doi.org/10.22331/q-2025-01-20-1600</a>.
</div>
<div id="ref-hillmann2025localized" class="csl-entry">
Hillmann, Timo, Lucas Berent, Armanda O. Quintavalle, Jens Eisert, Robert Wille, and Joschka Roffe. 2025. <span>“Localized Statistics Decoding for Quantum Low-Density Parity-Check Codes.”</span> <em>Nature Communications</em> 16 (1). <a href="https://doi.org/10.1038/s41467-025-63214-7">https://doi.org/10.1038/s41467-025-63214-7</a>.
</div>
<div id="ref-koutsioumpas2025colour" class="csl-entry">
Koutsioumpas, Stergios, Tamas Noszko, Hasan Sayginel, Mark Webster, and Joschka Roffe. 2025. <span>“Colour Codes Reach Surface Code Performance Using Vibe Decoding.”</span> <a href="https://doi.org/10.48550/ARXIV.2508.15743">https://doi.org/10.48550/ARXIV.2508.15743</a>.
</div>
<div id="ref-senior2025alphaqubit" class="csl-entry">
Senior, Andrew W., Thomas Edlich, Francisco J. H. Heras, Lei M. Zhang, Oscar Higgott, James S. Spencer, Taylor Applebaum, et al. 2025. <span>“A Scalable and Real-Time Neural Decoder for Topological Quantum Codes,”</span> December. <a href="https://doi.org/10.48550/ARXIV.2512.07737">https://doi.org/10.48550/ARXIV.2512.07737</a>.
</div>
<div id="ref-sivak2025reinforcement" class="csl-entry">
Sivak, Volodymyr, Alexis Morvan, Michael Broughton, Matthew Neeley, Alec Eickbusch, Dmitry Abanin, Amira Abbas, et al. 2025. <span>“Reinforcement Learning Control of Quantum Error Correction,”</span> November. <a href="https://doi.org/10.48550/ARXIV.2511.08493">https://doi.org/10.48550/ARXIV.2511.08493</a>.
</div>
</div></section><section class="quarto-appendix-contents" id="quarto-citation"><h2 class="anchored quarto-appendix-heading">Citation</h2><div><div class="quarto-appendix-secondary-label">BibTeX citation:</div><pre class="sourceCode code-with-copy quarto-appendix-bibtex"><code class="sourceCode bibtex">@online{koutsioumpas2026,
  author = {Koutsioumpas, Stergios and Roffe, Joschka},
  title = {Vibe {Decoding} {Quantum} {Error} {Correction} with {CUDA}},
  date = {2026-03-09},
  url = {https://qec.codes/blog/vibe_gpu/},
  doi = {10.59350/qxsf5-r9s02},
  langid = {en}
}
</code></pre><div class="quarto-appendix-secondary-label">For attribution, please cite this work as:</div><div id="ref-koutsioumpas2026" class="csl-entry quarto-appendix-citeas">
Koutsioumpas, Stergios, and Joschka Roffe. 2026. <span>“Vibe Decoding
Quantum Error Correction with CUDA.”</span> March 9, 2026. <a href="https://doi.org/10.59350/qxsf5-r9s02">https://doi.org/10.59350/qxsf5-r9s02</a>.
</div></div></section></div> ]]></description>
  <category>Decoding</category>
  <category>GPU</category>
  <category>Colour Codes</category>
  <category>CUDA</category>
  <guid>https://qec.codes/blog/vibe_gpu/</guid>
  <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
</item>
<item>
  <title>GPU-Accelerated Automorphism Ensemble Decoding of Quantum LDPC Codes</title>
  <dc:creator>Stergios Koutsioumpas</dc:creator>
  <dc:creator>Joschka Roffe</dc:creator>
  <link>https://qec.codes/blog/autdec/</link>
  <description><![CDATA[ 





<blockquote class="blockquote">
<p>This work was carried out as part of the Grace Hopper Superchip Seed Program between NVIDIA, Supermicro and the University of Edinburgh.</p>
</blockquote>
<p>Quantum computers promise breakthroughs on problems that are intractable for even the most powerful supercomputers. However, the building blocks of quantum computers, qubits, are fragile and susceptible to noise, which corrupts calculations. Quantum Error Correction (QEC) allows us to bypass those issues, but it requires fast and accurate classical decoding algorithms.</p>
<p>Here, we showcase a powerful technique that significantly accelerates and improves the standard Belief Propagation with Ordered Statistics Decoder (BP+OSD). By implementing an automorphism ensemble decoder (AutDEC) <span class="citation" data-cites="koutsioumpas2025automorphism geiselhart2021automorphism">(Koutsioumpas, Sayginel, et al. 2025; Geiselhart et al. 2021)</span> for BP-OSD <span class="citation" data-cites="roffe2020decoding fossorier1995soft panteleev2021degenerate">(Roffe et al. 2020; Fossorier and Lin 1995; Panteleev and Kalachev 2021)</span> on an NVIDIA A100 GPU hosted in the Edinburgh Compute and Data Facility (ECDF), we achieve an accuracy and efficiency boost for bivariate bicycle codes under realistic circuit-level noise. Specifically, our implementation of AutDEC halves the required decoder iterations while simultaneously more than doubling the accuracy.</p>
<section id="the-decoding-problem-and-the-role-of-qpuhpc-integration" class="level3">
<h3 class="anchored" data-anchor-id="the-decoding-problem-and-the-role-of-qpuhpc-integration">The decoding problem and the role of QPU–HPC integration</h3>
<p>One of the greatest challenges in QEC is the real-time decoding problem. Stabiliser measurements produce a continuous stream of syndromes—binary bit-strings indicating where errors may have occurred. A classical decoder must infer the most likely error configuration and issue recovery instructions back to the quantum processing unit (QPU) before qubits decohere.</p>
<p>At scale, this becomes daunting: syndrome data rates are expected to reach terabits per second. Decoders must therefore be fast, accurate, and massively parallelizable. Achieving this demands tight QPU–HPC integration and efficient algorithms capable of leveraging modern accelerators like GPUs.</p>
</section>
<section id="trapping-sets-in-belief-propagation-decoders" class="level3">
<h3 class="anchored" data-anchor-id="trapping-sets-in-belief-propagation-decoders">Trapping Sets in Belief Propagation Decoders</h3>
<p>Low Density Parity Check codes (LDPC) are a promising candidate for error correction, as they require very low physical qubit overhead. They can be represented by a graph called a Tanner graph. Decoders like Belief Propagation (BP) work by passing messages along the edges of this graph to identify and correct errors.</p>
<p>However, a known weakness of BP decoders is their vulnerability to “trapping sets” <span class="citation" data-cites="raveendran2021trapping">(Raveendran and Vasić 2021)</span>—small graphical structures, like short cycles, that can cause the algorithm to get stuck in a loop, failing to converge on the correct solution.</p>
</section>
<section id="circuit-level-noise" class="level3">
<h3 class="anchored" data-anchor-id="circuit-level-noise">Circuit Level noise</h3>
<p>To account for circuit-level faults, we use the superconducting qubit inspired Si1000 noise model <span class="citation" data-cites="gidney2021fault">(Gidney et al. 2021)</span>. Unlike a uniform baseline, Si1000 assigns different error rates by operation, with higher error probabilities for measurements, two-qubit gates, and idling during measurement/reset windows. These differences create a model more reflective of real hardware. The heterogeneous structure means decoders must contend with noisy syndromes and fault propagation across gates, not just independent flips—making circuit-level decoding substantially more challenging.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/autdec/fig/tanner_graph.png" class="img-fluid figure-img"></p>
<figcaption>Figure 1: Detector Error Model Tanner Graph. The Tanner graph of the matrix corresponding to the detector error model of the [[72,12,6]] X- memory experiment circuit. Green nodes correspond to the checks (detectors) and red nodes to error mechanisms under circuit level noise.”</figcaption>
</figure>
</div>
</section>
<section id="designing-decoding-algorithms-for-gpus" class="level3">
<h3 class="anchored" data-anchor-id="designing-decoding-algorithms-for-gpus">Designing decoding algorithms for GPUs</h3>
<p>The QEC decoding problem is inherently well-suited to GPU acceleration. With platforms such as NVIDIA CUDA-Q and its <a href="https://nvidia.github.io/cudaqx/components/qec/introduction.html">QEC library</a> <span class="citation" data-cites="nvidia2025cudaqx">(NVIDIA Corporation 2025)</span>, parallel decoding algorithms can be developed, benchmarked, and refined at pace, shortening the design cycle from theoretical models to practical, deployable protocols. CUDA-Q offers out of the box implementations of BP-OSD decoders.</p>
<p>Decoders also need to be versatile. In large-scale systems where logical information is actively manipulated, they must continuously update correlations between qubits in the logical register in real time. GPUs provide the flexibility to support this dynamic behaviour, offering a more adaptable solution than specialised hardware such as FPGAs or ASICs.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/autdec/fig/aut_graph.png" class="img-fluid figure-img"></p>
<figcaption>Figure 2: Bypassing short cycles. On the left, a standard Tanner graph shows a short cycle (highlighted in red) that can ‘trap’ the decoder. An automorphism (transformation ‘A’) re-wires the graph, as shown on the right. This new graph may not have the same short cycle at that location (highlighted in green), allowing the decoder to find a valid solution.</figcaption>
</figure>
</div>
</section>
<section id="automorphism-ensemble-decoding" class="level3">
<h3 class="anchored" data-anchor-id="automorphism-ensemble-decoding">Automorphism Ensemble decoding</h3>
<p>The core idea underpinning AutDEC is that instead of trying to decode on a single, potentially flawed graph, we can decode on many different, but equivalent, graphs at the same time in an ensemble.</p>
<p>An automorphism is a symmetry of the code; it’s a way of shuffling the qubits and check nodes without changing the fundamental structure of the code. Applying an automorphism effectively “rewires” the Tanner graph, changing its structure and potentially breaking the trapping sets that would pose problems to the decoder.</p>
<p>The ensemble method proceeds as follows:</p>
<ul>
<li>Take the initial error syndrome, <img src="https://latex.codecogs.com/png.latex?s">.</li>
<li>Create multiple, unitary-equivalent versions of the decoding problem (<img src="https://latex.codecogs.com/png.latex?U_%7BA%7D%20*%20s">).</li>
<li>Run an instance of the CUDA-Q BP-OSD decoder on each of these problems in parallel.</li>
<li>Collect the results from all decoders and select the most likely correction from the list of candidates.</li>
</ul>
<p>Because this process is highly parallelizable, it is perfectly suited for the massively parallel architecture of Graphics Processing Units (GPUs). The NVIDIA CUDA-Q QEC library allows us to leverage its batch processing utility to process all ensemble paths in parallel, making it a promising candidate for real-time decoding.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/autdec/fig/autdec_schematic.png" class="img-fluid figure-img"></p>
<figcaption>Figure 3: The Automorphism Ensemble Decoder pipeline. A received syndrome ‘s’ is decoded simultaneously on multiple automorphically-equivalent instances of the code. The final output is the most likely correction among all successful decoding attempts.</figcaption>
</figure>
</div>
</section>
<section id="results-accuracy-gains-and-reduced-iterations" class="level3">
<h3 class="anchored" data-anchor-id="results-accuracy-gains-and-reduced-iterations">Results: Accuracy Gains and Reduced Iterations</h3>
<p>We tested this architecture using the high-performance CUDA-Q BP+OSD decoder on bivariate bicycle codes, subjected to a realistic circuit-level noise model (Si1000). We compare AutDEC, configured with an ensemble size of 36 BP+OSD-0 constituent decoders - each limited to 500 BP iterations with OSD-0 - against two baselines which do not leverage GPU-accelerated automorphism ensemble decoding: (1) BP+OSD-CS10 with up to 500 iterations and order-10 combination sweep reprocessing, and (2) BP+OSD-CS10 with up to 1000 iterations and order-10 reprocessing. We highlight below some early results:</p>
<ul>
<li><strong>&gt;2x Higher Accuracy:</strong> By running multiple decoders in parallel, the probability of at least one of them avoiding a trapping set and finding the correct solution increases dramatically. This more than halved the logical error rate of the code, effectively doubling its accuracy.</li>
<li><strong>50% Fewer Iterations:</strong> The ensemble approach requires significantly fewer iterations to reach a valid solution. We halve the number of iterations allowed for our decoder, making the process more efficient without compromising results.</li>
</ul>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="https://qec.codes/blog/autdec/fig/footprint_plot.png" class="img-fluid figure-img"></p>
<figcaption>Figure 4: Qubit footprint comparison results. We benchmark the gain of the ensemble versus the baseline BP+OSD decoders for bivariate bicycle codes under Si1000 circuit noise with a physical error rate p=0.1%. The plot shows the logical error rate per round versus total qubit count. Three decoders are compared: Aut-BP500-OSD0 (red, solid line), BP1000-OSD10 (blue, dashed line), and BP500-OSD10 (green, dash-dotted line).</figcaption>
</figure>
</div>
</section>
<section id="next-steps" class="level3">
<h3 class="anchored" data-anchor-id="next-steps">Next steps</h3>
<p>The automorphism ensemble improves the accuracy of any constituent belief-propagation (BP) decoder without increasing latency. In <span class="citation" data-cites="koutsioumpas2025automorphism">(Koutsioumpas, Sayginel, et al. 2025)</span>, it was shown that an Automorphism Ensemble Decoder using only BP, without any postprocessing, can achieve performance comparable to BP+OSD-0 but without the additional overhead. The NVIDIA CUDA-Q platform further enhances this by providing a fast implementation of Gaussian elimination and enabling high parallelization through batch processing, making OSD-based approaches far more attractive in terms of performance. Moreover, combining OSD-0 with our ensemble allows us to reduce BP iterations while boosting decoding accuracy.</p>
<p>Recently, a more efficient postprocessing method, called Localised Statistics Decoding (LSD), was introduced in <span class="citation" data-cites="hillmann2025localized">(Hillmann et al. 2025)</span>. LSD parallelizes many of the traditionally sequential steps in OSD, significantly reducing latency. Building on this, we developed an ensembling strategy that combines a few serial-schedule BP iterations with LSD postprocessing, introducing a powerful new technique we call “Vibe” for colour codes <span class="citation" data-cites="koutsioumpas2025colour">(Koutsioumpas, Noszko, et al. 2025)</span>. VibeLSD delivers high accuracy, offers strong parallelizability, and is well-suited for GPU acceleration.</p>
<p>A key strength of ensemble decoding—especially on flexible hardware like GPUs—is the ability to integrate multiple decoding strategies within the ensemble to maximize performance. In future work, we plan to optimise the ensemble implementation further and explore the accuracy–speed trade-offs introduced by different decoder hyperparameters. Additionally, comparing or merging VibeLSD with AutDEC and other ensemble techniques on GPUs promises to unlock substantial additional performance gains.</p>
</section>
<section id="conclusion" class="level3">
<h3 class="anchored" data-anchor-id="conclusion">Conclusion</h3>
<p>The automorphism ensemble, when accelerated on GPUs through the CUDA-Q platform, marks a significant advancement toward practical quantum error correction. By overcoming the inherent limitations of traditional BP-based decoders, this approach unlocks higher performance from promising QLDPC codes, paving the way for more efficient and scalable fault-tolerant quantum computing.</p>
</section>
<section id="references" class="level3">
<h3 class="anchored" data-anchor-id="references">References</h3>
<div id="refs" class="references csl-bib-body hanging-indent" data-entry-spacing="0">
<div id="ref-fossorier1995soft" class="csl-entry">
Fossorier, M. P. C., and Shu Lin. 1995. <span>“Soft-Decision Decoding of Linear Block Codes Based on Ordered Statistics.”</span> <em>IEEE Transactions on Information Theory</em> 41 (5): 1379–96. <a href="https://doi.org/10.1109/18.412683">https://doi.org/10.1109/18.412683</a>.
</div>
<div id="ref-geiselhart2021automorphism" class="csl-entry">
Geiselhart, Marvin, Ahmed Elkelesh, Moustafa Ebada, Sebastian Cammerer, and Stephan ten Brink. 2021. <span>“Automorphism Ensemble Decoding of Reed–Muller Codes.”</span> <em>IEEE Transactions on Communications</em> 69 (10): 6424–38. <a href="https://doi.org/10.1109/tcomm.2021.3098798">https://doi.org/10.1109/tcomm.2021.3098798</a>.
</div>
<div id="ref-gidney2021fault" class="csl-entry">
Gidney, Craig, Michael Newman, Austin Fowler, and Michael Broughton. 2021. <span>“A Fault-Tolerant Honeycomb Memory.”</span> <em>Quantum</em> 5 (December): 605. <a href="https://doi.org/10.22331/q-2021-12-20-605">https://doi.org/10.22331/q-2021-12-20-605</a>.
</div>
<div id="ref-hillmann2025localized" class="csl-entry">
Hillmann, Timo, Lucas Berent, Armanda O. Quintavalle, Jens Eisert, Robert Wille, and Joschka Roffe. 2025. <span>“Localized Statistics Decoding for Quantum Low-Density Parity-Check Codes.”</span> <em>Nature Communications</em> 16 (1). <a href="https://doi.org/10.1038/s41467-025-63214-7">https://doi.org/10.1038/s41467-025-63214-7</a>.
</div>
<div id="ref-koutsioumpas2025colour" class="csl-entry">
Koutsioumpas, Stergios, Tamas Noszko, Hasan Sayginel, Mark Webster, and Joschka Roffe. 2025. <span>“Colour Codes Reach Surface Code Performance Using Vibe Decoding.”</span> <a href="https://doi.org/10.48550/ARXIV.2508.15743">https://doi.org/10.48550/ARXIV.2508.15743</a>.
</div>
<div id="ref-koutsioumpas2025automorphism" class="csl-entry">
Koutsioumpas, Stergios, Hasan Sayginel, Mark Webster, and Dan E Browne. 2025. <span>“Automorphism Ensemble Decoding of Quantum LDPC Codes.”</span> <a href="https://doi.org/10.48550/ARXIV.2503.01738">https://doi.org/10.48550/ARXIV.2503.01738</a>.
</div>
<div id="ref-nvidia2025cudaqx" class="csl-entry">
NVIDIA Corporation. 2025. <span>“CUDA-QX.”</span> <a href="https://github.com/NVIDIA/cudaqx">https://github.com/NVIDIA/cudaqx</a>.
</div>
<div id="ref-panteleev2021degenerate" class="csl-entry">
Panteleev, Pavel, and Gleb Kalachev. 2021. <span>“Degenerate Quantum LDPC Codes with Good Finite Length Performance.”</span> <em>Quantum</em> 5 (November): 585. <a href="https://doi.org/10.22331/q-2021-11-22-585">https://doi.org/10.22331/q-2021-11-22-585</a>.
</div>
<div id="ref-raveendran2021trapping" class="csl-entry">
Raveendran, Nithin, and Bane Vasić. 2021. <span>“Trapping Sets of Quantum LDPC Codes.”</span> <em>Quantum</em> 5 (October): 562. <a href="https://doi.org/10.22331/q-2021-10-14-562">https://doi.org/10.22331/q-2021-10-14-562</a>.
</div>
<div id="ref-roffe2020decoding" class="csl-entry">
Roffe, Joschka, David R. White, Simon Burton, and Earl Campbell. 2020. <span>“Decoding Across the Quantum Low-Density Parity-Check Code Landscape.”</span> <em>Physical Review Research</em> 2 (4). <a href="https://doi.org/10.1103/physrevresearch.2.043423">https://doi.org/10.1103/physrevresearch.2.043423</a>.
</div>
</div>


</section>

<div id="quarto-appendix" class="default"><section class="quarto-appendix-contents" id="quarto-citation"><h2 class="anchored quarto-appendix-heading">Citation</h2><div><div class="quarto-appendix-secondary-label">BibTeX citation:</div><pre class="sourceCode code-with-copy quarto-appendix-bibtex"><code class="sourceCode bibtex">@online{koutsioumpas2025,
  author = {Koutsioumpas, Stergios and Roffe, Joschka},
  title = {GPU-Accelerated {Automorphism} {Ensemble} {Decoding} of
    {Quantum} {LDPC} {Codes}},
  date = {2025-09-16},
  url = {https://qec.codes/blog/autdec/},
  doi = {10.59350/2tsb3-hy509},
  langid = {en}
}
</code></pre><div class="quarto-appendix-secondary-label">For attribution, please cite this work as:</div><div id="ref-koutsioumpas2025" class="csl-entry quarto-appendix-citeas">
Koutsioumpas, Stergios, and Joschka Roffe. 2025. <span>“GPU-Accelerated
Automorphism Ensemble Decoding of Quantum LDPC Codes.”</span> September
16, 2025. <a href="https://doi.org/10.59350/2tsb3-hy509">https://doi.org/10.59350/2tsb3-hy509</a>.
</div></div></section></div> ]]></description>
  <category>Decoding</category>
  <category>GPU</category>
  <category>Quantum LDPC</category>
  <guid>https://qec.codes/blog/autdec/</guid>
  <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
</item>
</channel>
</rss>
