Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Expr values to SabreSwap and SabreLayout #10232

Closed
Tracked by #10239
jakelishman opened this issue Jun 7, 2023 · 0 comments · Fixed by #10511
Closed
Tracked by #10239

Add support for Expr values to SabreSwap and SabreLayout #10232

jakelishman opened this issue Jun 7, 2023 · 0 comments · Fixed by #10511
Assignees
Labels
mod: transpiler Issues and PRs related to Transpiler type: feature request New feature or request

Comments

@jakelishman
Copy link
Member

jakelishman commented Jun 7, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mod: transpiler Issues and PRs related to Transpiler type: feature request New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant