Skip to content

RemoteConditionalCorrection blocks finalizing logical readout even when the correction commutes with logical observables #110

Description

First of all, thank your for building deq and open-sourcing it! It is a fantastic tool!

I'm using RemoteConditionalCorrection to implement Pauli-feedforward. However, I find that such feedforward blocks readouts, even when the propagated Pauli correction commutes with the logical observable.

Problem. A gadget's frame is only computed once every remote conditional readout it references has a resolved frame (deq_runtime/src/misc/pauli_frame_tracker.rs, the early returns in propagate_from). Since downstream gadgets in turn require their input peers' frames, one unresolved conditional correction blocks decode() (via wait_for_pauli_frame, deq_runtime/src/coordinator/window_coordinator.rs) for the entire downstream cone — even when the conditional Pauli commutes with the measured logical observable, so the readout provably cannot depend on it.

Example. A conditional logical Z (remote conditional correction hitting only LX residual rows) followed by a Z-basis logical measurement whose readout_propagation reads only the LZ column: the influence of the condition bit on the readout is identically zero over GF(2), yet the measurement's readout is withheld until the remote readout's frame resolves. For feed-forward that puts an unrelated decode's latency on the critical path.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions