← Back
Home › Systems › Simulation and scientific computing

qec-decoder

quantum error-correction decoder

Google Willow surface code

SystemTechniques · 8Primitives · 12 qec-decoder Minimum weight perfect matchinggraphs · medium: Edmonds blossom algorithm and sparse blossom for matching syndromes and graphsFpga dataflow pipelineshardware-os · medium: Fully pipelined fixed-latency FPGA logic: initiation interval, HLS, BRAM and DSP budgetingBelief propagationmachine-learning · medium: Message passing on factor graphs (sum-product, min-sum) for decoding and inferenceStabilizer simulationnumerics · medium: Simulate Clifford circuits in polynomial time with stabilizer tableaus (Gottesman-Knill, Stim)Surface codenumerics · medium: Surface code stabilizers, syndrome rounds, detector graphs and logical error ratesInstruction schedulingcompilers · medium: List scheduling over dependence DAGs with latency models; software pipelining of loopsStatic timing analysishardware-os · medium: Propagate latest/earliest arrival forward and required times backward through a DAG; slack = required - arrival, and the minimum-slack path is the critical one.›Union-findgraphs · low: Disjoint-set forest with union by size and path compression; merges sets and answers same-set queries in effectively constant time.›SIMD programminghardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.›Dijkstra's algorithmgraphs · low: Single-source shortest paths with non-negative edge weights by settling vertices in order of distance with a priority queue.›Transformer blockml-training · low: The decoder-only pre-norm block (attention plus MLP on a residual stream) behind every modern LLM, with exact shapes, parameter, FLOP and KV-cache counts.›d-ary heapdata-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.›BFS and DFSgraphs · low: The two basic graph traversals; BFS gives hop distances and levels, DFS gives discovery/finish order for cycles, components and topological order.›Floating-point errornumerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.›Sparse matrices (CSR)numerics · low: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.›Finite field arithmeticnumerics · low: Prime-field and extension-field arithmetic (Montgomery form, Goldilocks, BabyBear), vectorizedPRNGs (PCG, xoshiro)numerics · low: Small, fast, statistically strong non-cryptographic generators: PCG32 and xoshiro256**, with seeding, parallel streams and unbiased ranges.›Topological sortgraphs · low: Order the vertices of a DAG so every edge points forward; the core of build systems, schedulers and dependency resolution, with cycle detection for free.›Instruction pipelininghardware-os · low: Pipeline stages, hazards, forwarding and stalls in CPU cores+ 1 more techniques