  The Minimum-Weight Perfect Matching (MWPM) decoder is widely used in Quantum
Error Correction (QEC) decoding. Despite its high accuracy, existing
implementations of the MWPM decoder cannot catch up with quantum hardware,
e.g., 1 million measurements per second for superconducting qubits. They suffer
from a backlog of measurements that grows exponentially and as a result, cannot
realize the power of quantum computation. We design and implement a fast MWPM
decoder, called Parity Blossom, which reaches a time complexity almost
proportional to the number of defect measurements. We further design and
implement a parallel version of Parity Blossom called Fusion Blossom. Given a
practical circuit-level noise of 0.1%, Fusion Blossom can decode a million
measurement rounds per second up to a code distance of 33. Fusion Blossom also
supports stream decoding mode that reaches a 0.7 ms decoding latency at code
distance 21 regardless of the measurement rounds.
