-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Compiling: heuristic for compiling 2 qubits gates to the native gateset #4362
Comments
Hi Tanuj. Would you mind if I have a look at this? |
Sure! There are multiple smaller work items for this larger bug
@chrischris96 had also reached out to me over email earlier expressing interest in this issue but I think the issue is large enough that more than one person can work on it in parallel. Please let me know if you have any further questions. |
Thanks for the quick reply! Is there a dependency between the first (GateTabulation refactoring + optimizer) and the second (NuOps implementation) tasks? If not, would it help to split this issue into two or more separate ones? |
No, there's no dependency. There's already #4059 that talks about adding an optimizer that uses the GateTabulation method. Feel free to create new smaller sub-issues to track specific work items. |
@Ashalynd I read the paper and don't have any preferences about which part to work on. Would you rather work on the optimizer or the NuOps implementation task? |
Hi @chrischris96, Sure, I can take the first part (refactoring GateTabulation and creating an optimizer). @tanujkhattar - that would correspond to issue #4059 plus may be a separate issue for refactoring, correct? |
@Ashalynd Yes, that's correct. |
I created #4461 (can't assign additional labels to it though). |
@chrischris96 As part of tracking the progress towards our Cirq 1.0 roadmap items, I wanted to check in on the progress on this issue. Could you start working on it yet? |
@tanujkhattar I am having exams until Monday but will start working on it full-time next week |
What is the status of the next task (write generic optimizer based on GateTabulation)? @tanujkhattar |
Gentle ping :) Is this issue still in scope? If yes, is #4059 taken / are there any parts left for this issue? |
Thanks for confirmatilon! |
Hi, apologies I have been away due to force majeure. Looping back in. |
Is your feature request related to a use case or problem? Please describe.
Approximate compilation to arbitrary target gatesets is a useful compilation primitive for the NISQ era. Currently, cirq only has GateTabulation method in cirq_google which supports approximate compilation to arbitrary target gatesets. However, being in cirq_google, GateTabulation is not very easily discoverable.
There are also other nice approximate compilation techniques like https://arxiv.org/pdf/2106.15490.pdf which should exist in cirq_core.
Describe the solution you'd like
Implement approximate compilation routine based on NuOps and bring GateTabulation to Cirq core
What is the urgency from your perspective for this issue? Is it blocking important work?
This work should be done as part of the gate compiling roadmap item (#3239) and we should eventually aim for a suit of approximate compilation methods similar to the various exact kak based analytical gate synthesis methods that exist today.
P2 - we should do it in the next couple of quarters
The text was updated successfully, but these errors were encountered: