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

Enable custom unitary operations in C++ library mode #1708

Merged
merged 11 commits into from
Jun 7, 2024

Conversation

amccaskey
Copy link
Collaborator

@amccaskey amccaskey commented May 23, 2024

Add CUDAQ_REGISTER_OPERATION macro that supports fully parameterized unitary matrices. This first PR focuses solely on library mode simulation, and a follow up PR will hook up the auto-generated C function to our MLIR pipeline.

Copy link

copy-pr-bot bot commented May 23, 2024

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@amccaskey amccaskey marked this pull request as ready for review May 23, 2024 12:17
@amccaskey amccaskey marked this pull request as draft May 23, 2024 12:43
@schweitzpgi
Copy link
Collaborator

Are we going to punt on using concepts in the headers then?

@amccaskey
Copy link
Collaborator Author

amccaskey commented May 23, 2024

/ok to test

Command Bot: Processing...

@amccaskey amccaskey marked this pull request as ready for review May 23, 2024 17:39
@amccaskey
Copy link
Collaborator Author

amccaskey commented May 23, 2024

/ok to test

Command Bot: Processing...

test/AST-Quake/single_qubit_ctor.cpp Outdated Show resolved Hide resolved
lib/Optimizer/Dialect/Quake/QuakeOps.cpp Outdated Show resolved Hide resolved
test/AST-Quake/ctrl_vector.cpp Outdated Show resolved Hide resolved
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request May 23, 2024
@amccaskey amccaskey force-pushed the cpp_libmode_unitary branch 4 times, most recently from a4c57eb to 9db3ee4 Compare May 28, 2024 12:03
@khalatepradnya
Copy link
Collaborator

These changes are looking good. I will leave it to Eric / Thien for final approval.
I think it is still missing the override of getQubitOrdering method by the tenornet simulators since they follow the same convention as qpp (MSB).
Got the following two failures as of commit 0efb23b

The following tests FAILED:
        389 - tensornet_CustomUnitaryTester.checkSimple (Failed)
        473 - tensornet_mps_CustomUnitaryTester.checkSimple (Failed)

Signed-off-by: Alex McCaskey <[email protected]>
@amccaskey
Copy link
Collaborator Author

amccaskey commented Jun 1, 2024

/ok to test

Command Bot: Processing...

Signed-off-by: Alex McCaskey <[email protected]>
Signed-off-by: Alex McCaskey <[email protected]>
@amccaskey
Copy link
Collaborator Author

amccaskey commented Jun 3, 2024

/ok to test

Command Bot: Processing...

@amccaskey
Copy link
Collaborator Author

amccaskey commented Jun 4, 2024

/ok to test

Command Bot: Processing...

Copy link

github-actions bot commented Jun 4, 2024

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jun 4, 2024
Copy link
Collaborator

@khalatepradnya khalatepradnya left a comment

Choose a reason for hiding this comment

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

👍🏽

@khalatepradnya khalatepradnya enabled auto-merge (squash) June 7, 2024 15:54
@khalatepradnya
Copy link
Collaborator

khalatepradnya commented Jun 7, 2024

/ok to test

Command Bot: Processing...

Resolved conflict in `runtime/nvqir/CircuitSimulator.h`
@khalatepradnya
Copy link
Collaborator

khalatepradnya commented Jun 7, 2024

/ok to test

Command Bot: Processing...

@khalatepradnya khalatepradnya enabled auto-merge (squash) June 7, 2024 16:58
Copy link

github-actions bot commented Jun 7, 2024

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Jun 7, 2024
@khalatepradnya
Copy link
Collaborator

khalatepradnya commented Jun 7, 2024

/ok to test

Command Bot: Processing...

@khalatepradnya khalatepradnya enabled auto-merge (squash) June 7, 2024 22:02
@khalatepradnya khalatepradnya merged commit d151543 into NVIDIA:main Jun 7, 2024
124 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jun 7, 2024
@khalatepradnya khalatepradnya linked an issue Jun 8, 2024 that may be closed by this pull request
12 tasks
@bettinaheim bettinaheim added the no release notes Don't list this PR in the release notes label Jul 29, 2024
@bettinaheim bettinaheim added this to the release 0.8.0 milestone Jul 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
no release notes Don't list this PR in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[RFC] Unitary Synthesis
5 participants