RustQEC 0.3 · Development

rsinter provides experimental decoder replay and benchmark orchestration. Replay consumes frozen detector inputs; benchmark campaigns generate or collect cases. Neither is a supported universal decoder ranking.

Decoder replay

replay reads a DEM and b8 detector rows and writes b8 observable predictions plus JSON statistics. It compiles the decoder once and streams batches. Inputs, configuration and output paths must be distinct; outputs are installed after successful validation and decoding. --shots validates the inferred count and is required for a zero-detector model. Compare two decoders on the same input before running a large campaign.

DecoderFeatureConfiguration
rmatchingrmatching-runnerNo decoder keys; graphlike components required
rbposdrbposd-runnerBP method/schedule, iteration limit, OSD method/order
rbplsdrbposd-runnerBP method/schedule, iteration limit, LSD method/order
rilpqecilp-runnerBackend, time limit, gap, threads, verbosity

Configurations are TOML. Unknown or inappropriate keys are rejected. Omitting the config file selects defaults, which are recorded in the statistics. See the replay contract for accepted key values.

Campaign files and resuming

rsinter bench run --spec campaign.toml --language rust --out results reads a TOML campaign specification and selects its Rust runners. The required --language value must match a runner language in the specification. --resume continues the campaign using its recorded state; preserve the specification, input hashes, decoder configuration and state files together. bench merge combines compatible outputs; plot commands read their stated CSV or result files. The campaign schema and comparison benchmarks document reproduction and interpretation.

Feature availability and errors

Help includes commands whose Cargo feature is disabled; running one reports the feature it needs. Runner features and plotting are installed separately in Get started. Plotting needs native font dependencies; ILP additionally needs the native solver toolchain. Failures exit nonzero; do not assume rstim's structured error codes apply to rsinter.

Command index

rsinter

Rust benchmark and sampling harness

Usage: rsinter <COMMAND>

Commands:
  plot-error-rate-csv      Plot a CSV of measured logical failures by distance and physical error rate
  replay                   Decode a detector dataset (requires a decoder runner feature)
  bench                    Run or plot benchmarks (runner features; plots require plotting)
  bb-circuit-bposd-memory  Run the built-in bivariate-bicycle memory experiment (requires rbposd-runner)
  help                     Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

bench subcommands: run, merge, plot, plot-surface-compare-csv, plot-bb-compare-csv

rsinter plot-error-rate-csv

Plot a CSV of measured logical failures by distance and physical error rate.

Requires the plotting feature.

Usage: rsinter plot-error-rate-csv --input <INPUT> --out <OUT>

Options:
      --input <INPUT>
          

      --out <OUT>
          

  -h, --help
          Print help (see a summary with '-h')

rsinter replay

Decode a detector dataset (requires a decoder runner feature).

Requires one of: rbposd-runner, rmatching-runner, ilp-runner.

Usage: rsinter replay [OPTIONS] --dem <DEM> --dets <DETS> --decoder <DECODER> --predictions-out <PREDICTIONS_OUT> --stats-out <STATS_OUT>

Options:
      --dem <DEM>
          

      --dets <DETS>
          

      --decoder <DECODER>
          

      --decoder-config <DECODER_CONFIG>
          

      --predictions-out <PREDICTIONS_OUT>
          

      --stats-out <STATS_OUT>
          

      --batch-size <BATCH_SIZE>
          [default: 65536]

      --shots <SHOTS>
          Validate the inferred shot count; required for zero-detector DEMs

  -h, --help
          Print help (see a summary with '-h')

rsinter bench

Run or plot benchmarks (runner features; plots require plotting).

Decoder runs require their matching runner feature; plots require plotting.

Usage: rsinter bench <COMMAND>

Commands:
  run                       Run a benchmark spec (decoder implementations require matching runner features)
  merge                     
  plot                      Plot benchmark JSONL results (requires plotting)
  plot-surface-compare-csv  Plot legacy surface-comparison CSV input (requires plotting)
  plot-bb-compare-csv       Plot legacy BB-comparison CSV input (requires plotting)
  help                      Print this message or the help of the given subcommand(s)

Options:
  -h, --help
          Print help (see a summary with '-h')

rsinter bb-circuit-bposd-memory

Run the built-in bivariate-bicycle memory experiment (requires rbposd-runner)

Usage: rsinter bb-circuit-bposd-memory [OPTIONS]

Options:
      --code-id <CODE_ID>                          [default: bb144]
      --physical-error-rate <PHYSICAL_ERROR_RATE>  [default: 0.003]
      --num-cycles <NUM_CYCLES>                    [default: 12]
      --num-trials <NUM_TRIALS>                    [default: 50000]
      --seed <SEED>                                
      --max-bp-iterations <MAX_BP_ITERATIONS>      [default: 10000]
      --osd-order <OSD_ORDER>                      [default: 7]
      --osd-method <OSD_METHOD>                    
      --json-model-audit                           
      --json-compare-case                          
  -h, --help                                       Print help

rsinter bench run

Run a benchmark spec (decoder implementations require matching runner features)

Usage: rsinter bench run [OPTIONS] --spec <SPEC> --language <LANGUAGE> --out <OUT>

Options:
      --spec <SPEC>          
      --language <LANGUAGE>  
      --out <OUT>            
      --resume               Resume from existing per-runner test-run/results.jsonl rows under --out
  -h, --help                 Print help

rsinter bench merge

Usage: rsinter bench merge [OPTIONS] --spec <SPEC> --out <OUT>

Options:
      --spec <SPEC>    
      --input <INPUT>  
      --out <OUT>      
  -h, --help           Print help

rsinter bench plot

Plot benchmark JSONL results (requires plotting)

Usage: rsinter bench plot [OPTIONS] --spec <SPEC> --out <OUT>

Options:
      --spec <SPEC>    
      --input <INPUT>  
      --out <OUT>      
  -h, --help           Print help

rsinter bench plot-surface-compare-csv

Plot legacy surface-comparison CSV input (requires plotting)

Usage: rsinter bench plot-surface-compare-csv --spec <SPEC> --input <INPUT> --out <OUT>

Options:
      --spec <SPEC>    
      --input <INPUT>  
      --out <OUT>      
  -h, --help           Print help

rsinter bench plot-bb-compare-csv

Plot legacy BB-comparison CSV input (requires plotting)

Usage: rsinter bench plot-bb-compare-csv --spec <SPEC> --input <INPUT> --out <OUT>

Options:
      --spec <SPEC>    
      --input <INPUT>  
      --out <OUT>      
  -h, --help           Print help