-
Notifications
You must be signed in to change notification settings - Fork 184
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
Quake Circuit Cutting #514
Conversation
0bc8d2c
to
108ab42
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Requested "changes" is a conversation about how we want to support this more permanently. Specifically, if we should write our own graph partition library and/or what library we depend on in the meantime or permanently.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add Metis to the Notice file in any case. Even if we are not including it in the release, it is in the devdeps image and it is also very easy to forget adding it in the future if we ever include it.
scripts/install_prerequisites.sh
Outdated
temp_install_if_command_unknown gcc gcc | ||
|
||
git clone https://github.com/KarypisLab/GKlib | ||
cd GKlib && make config cc=gcc prefix=$METIS_INSTALL_PREFIX openmp=set |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does openmp=set mean that running the metis graph partiationer will cause a runtime failure if openmp is not installed in the dev environment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a partial review.
470b4bf
to
acf1d42
Compare
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
…ble one to load it as a plugin Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
Co-authored-by: Bettina Heim <[email protected]>
…ioner plugin is installed, and setting up the test to test all installed plugins
Signed-off-by: Alex McCaskey <[email protected]>
ac115bc
to
11e941d
Compare
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Signed-off-by: Alex McCaskey <[email protected]>
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Closing this, will require a bit more work / though. |
Introduce new MLIR Pass that takes a single Quake function in the value-semantic model and partitions the corresponding circuit into
k
sub-circuits using METIS. Reconstitutes each partition into a new Quake function with inserted measure and state preparation nodes. These nodes can be search/replaced via another upcoming pass before JIT execution via NVQIR simulation.Workflow steps: