You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our Sabre implementation works by having Python-space pass a stripped-down, minimal version of the data-flow dependencies down to the Rust layer. This involves a step where wires need to be copied into the new data structures. For historical reasons, the way this is currently done is not by inspecting the wires of the DAGCircuit data structure, but they are re-inferred from the nodes themselves.
The two passes need updating to ensure that any wires implied by the Expr values are also taken into account. The work will be almost identical between the two passes.
Rather than having special handling for Expr values, an alternative implementation may be to infer the data-flow dependencies from the wires in the DAG structure, rather than the nodes.
What should we add?
Our Sabre implementation works by having Python-space pass a stripped-down, minimal version of the data-flow dependencies down to the Rust layer. This involves a step where wires need to be copied into the new data structures. For historical reasons, the way this is currently done is not by inspecting the wires of the
DAGCircuit
data structure, but they are re-inferred from the nodes themselves.The two passes need updating to ensure that any wires implied by the
Expr
values are also taken into account. The work will be almost identical between the two passes.Rather than having special handling for
Expr
values, an alternative implementation may be to infer the data-flow dependencies from the wires in the DAG structure, rather than the nodes.Depends on #10223, #10224, #9419 and #9421.
The text was updated successfully, but these errors were encountered: