Overview of ARCADE

What problem ARCADE solves

Superconducting qubits are measured through microwave resonators. For each shot the electronics record an in-phase channel and a quadrature channel over a finite readout window. The experimentalist must turn that complex time series into a classical label such as ground or excited, or into a richer label set when leakage levels are resolved. The software component that performs that mapping is a readout discriminator, sometimes called a classifier in machine learning language.

The literature contains many discriminators. Thresholding on a matched filter score is simple and hardware friendly. Linear and quadratic discriminant analysis sit on top of filter banks. Fully connected networks and specialized architectures such as HERQULES learn nonlinear decision boundaries. Hybrid methods such as next-generation reservoir computing and path signatures expand the time series into rich features before a linear or tree-based head decides. Leakage-aware multi-level networks treat three or more energy levels per qubit. Each paper tends to report results on its own traces with its own split and its own definition of success. That makes it difficult to answer a practical question: given my multiplexed dataset, which method should I ship, and what does it cost in FPGA resources and latency?

ARCADE exists to make that comparison fair. You declare a dataset path, a demodulation recipe, a train validation test split, and a list of classifiers in a YAML file. ARCADE loads the traces once, prepares them identically for every method, trains and evaluates each classifier, optionally compresses neural models, estimates analytical FPGA resources, and writes a report that puts accuracy, operating point, and deployability on one page.

What ARCADE is not

ARCADE is not a single paper method. It is a toolkit that re-implements and registers many methods so they share one evaluation harness. It is not a place-and-route tool. Hardware numbers are analytical estimates from model structure and word length assumptions, not Vivado timing closure. It is not a full stack fault-tolerant compiler. The quantum error correction module maps readout error and duration into logical error rate and wall-clock cycle time for memory experiments so you can reason about cycle budgets; it does not replace a production decoder deployment.

Repository surfaces you will use

The Python package lives under arcade/. Configuration recipes live under configs/. Public example notebooks live under examples/. The story website under website/ explains the bake-off for a broad audience. This Sphinx tree under doc/ is the package manual aimed at people who install and extend the code. Frozen zoo numbers for the public site live under benchmarks/.

Day to day you will edit YAML, call arcade run, and inspect files under output/. When you add a method you subclass a base classifier, decorate it with the registry, and point the classifiers.run list at the new name.

Design principles

Fairness comes first. Every classifier in a given run sees the same prepared traces and the same labels. Metrics are defined once in the evaluators so joint accuracy and per-qubit accuracy and F5Q mean the same thing on every row of the report. Extensibility comes second. New discriminators plug in through a registry rather than through forks of the runner. Clarity comes third. Docs and reports are expected to state when a number is analytical, when a curve is synthetic, and when a paper recipe was adapted rather than reproduced bit for bit. Pitfalls checklists in Guides and Reference call out the traps that most often make a ranking look better than it is.

Where to go next

Continue with Installation to set up a development environment. Then read Pipeline stages so the stage names in logs match the packages in the tree. Finish Quickstart with Verification before launching a long multi-method run.