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

Edge-disjoint paths in the wave pipeline #121

Merged
merged 17 commits into from
Oct 22, 2024

Conversation

tylerrleblond
Copy link
Collaborator

@tylerrleblond tylerrleblond commented Sep 24, 2024

Implemented greedy edge-disjoint path compilation (see Beverland et. al., 2022) within the wave pipeline (use -P edpc) for Bell-based CNOT gates. Can be used for 1-lane (-L edpc --numlanes 1) and 1-lane-condensed (-L edpc --numlanes 1 --condensed 1) layouts.

See scaling improvements for random circuits below (compare with Fig. 5 from Section 3 of Realistic Costs...):
slices-vs-num-qubits.pdf
compilation-time-vs-num-qubits.pdf

@tylerrleblond tylerrleblond force-pushed the edpc branch 3 times, most recently from 6bb5a82 to 71b7915 Compare September 24, 2024 20:16
@alexandrupaler alexandrupaler merged commit c0a02d8 into latticesurgery-com:main Oct 22, 2024
9 checks passed
@@ -52,21 +55,25 @@ Options:
-f, --output-format Requires -o, STDOUT output format: progress, noprogress, machine, stats
-t, --timeout Set a timeout in seconds after which stop producing slices
-r, --router Set a router: graph_search (default), graph_search_cached
-P, --pipeline pipeline mode: stream (default), dag, wave
-g, --graph-search Set a graph search provider: djikstra (default), astar, boost (not always available) [ignored by -P wave pipeline, which uses astar]
-P, --pipeline pipeline mode: stream (default), wave, edpc, dag (deprecated)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just curious, why is dag deprecated now? do edpc and wave fully replace it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know the dag pipeline as well as I do the wave pipeline, but it was my impression that the wave pipeline was an improvement on the dag pipeline in that it constructed the dag in linear time rather than quadratic while effecting the same (or very similar) compilation. What are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants