KEMBAR78
State synthesis for c-like function kernels by annagrin · Pull Request #2763 · NVIDIA/cuda-quantum · GitHub
Skip to content

Conversation

@annagrin
Copy link
Collaborator

@annagrin annagrin commented Mar 26, 2025

Description

Support state synthesis for c-like function kernels in c++.

Requires: #2706
Towards: #1931

bmhowe23 and others added 30 commits October 17, 2024 14:33
I, Ben Howe <bhowe@nvidia.com>, hereby add my Signed-off-by to this commit: 86681ef

Signed-off-by: Ben Howe <bhowe@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
…antum-device-state

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
…ate-ops

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
…ate-ops

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
@github-actions
Copy link

github-actions bot commented Apr 1, 2025

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

github-actions bot pushed a commit that referenced this pull request Apr 1, 2025
annagrin added 2 commits April 3, 2025 14:14
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
@annagrin annagrin marked this pull request as ready for review April 3, 2025 21:37
@annagrin annagrin requested review from 1tnguyen and schweitzpgi April 3, 2025 21:37
Copy link
Collaborator

@1tnguyen 1tnguyen left a comment

Choose a reason for hiding this comment

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

Looks great 👍

github-actions bot pushed a commit that referenced this pull request Apr 3, 2025
@github-actions
Copy link

github-actions bot commented Apr 3, 2025

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

annagrin added 2 commits April 4, 2025 09:52
…ate-synthesis-c-function

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
github-actions bot pushed a commit that referenced this pull request Apr 4, 2025
@github-actions
Copy link

github-actions bot commented Apr 4, 2025

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

Copy link
Collaborator

@schweitzpgi schweitzpgi left a comment

Choose a reason for hiding this comment

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

Looks great. A few nitpicks.

…ate-synthesis-c-function

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
@annagrin annagrin enabled auto-merge (squash) April 14, 2025 21:36
github-actions bot pushed a commit that referenced this pull request Apr 14, 2025
@github-actions
Copy link

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

…ate-synthesis-c-function

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
@annagrin annagrin merged commit eefb830 into NVIDIA:main Apr 17, 2025
194 of 195 checks passed
github-actions bot pushed a commit that referenced this pull request Apr 17, 2025
@github-actions
Copy link

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

@bettinaheim bettinaheim added the release notes Changes need to be captured in the release notes label May 5, 2025
@bettinaheim bettinaheim added this to the release 0.11.0 milestone May 5, 2025
annagrin added a commit to annagrin/cuda-quantum that referenced this pull request Jun 17, 2025
* DCO Remediation Commit for Ben Howe <bhowe@nvidia.com>

I, Ben Howe <bhowe@nvidia.com>, hereby add my Signed-off-by to this commit: 86681ef

Signed-off-by: Ben Howe <bhowe@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* State pointer synthesis for quantum hardware

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Merge with main

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Merge with main

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix test failure on anyon platform

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Make StateInitialization a funcOp pass

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix issues and tests for the rest of quantum architectures

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing quantinuum state prep tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Format

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing test

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Format

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Format

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Replaced getState intrinsic by cc.get_state op

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remove print

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remove getCudaqState references

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Minor updates

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing quake test

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Add a few state-related cc ops

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix test_argument_conversion

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Add printing in failing tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Add printing in failing tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Add description for new algorithm for state syntesis

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Make intermediate IR legal by separating allocs

* DCO Remediation Commit for Anna Gringauze <agringauze@nvidia.com>

I, Anna Gringauze <agringauze@nvidia.com>, hereby add my Signed-off-by to this commit: 9563371

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address some PR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Store new functions in subst module and update synthesis

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Make argument synthesis transitive

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Update callers of synthesis

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Use PointerOf in quake defs

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Addressed more CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Recursive with caching

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* StateAggregatorWithArgumentConverter

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Make ArgumentConverter handle the state call tree

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Make argument converter handle kernels created from states

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Temp

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Temp

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Temp

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Temp

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix null alloc size and add tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix const prop complex and numQubits bugs

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Add tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Format

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix state copy in python

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remove temp files

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Keep storing ops when generating numSubits func

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing test

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing doc build

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Allow old launch kernel for tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more CR comments and add a test

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more CR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address more python tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Use cudaq::qkernel

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix links

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix links

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix links and tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Made work with operators and c-like functions

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix test on ionq

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Temp

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Undo unrelated changes

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Undo unrelated changes

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Undo unrelated changes

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Undo unrelated changes

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remove unneded unique pointer

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing Ionq test

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing Ionq and OQC tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Cleanup

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remove trotter tests for quantum devices

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Fix failing tests

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Remote unrelated changes

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Address CR Comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

* Addressed PR comments

Signed-off-by: Anna Gringauze <agringauze@nvidia.com>

---------

Signed-off-by: Ben Howe <bhowe@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Co-authored-by: Ben Howe <bhowe@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release notes Changes need to be captured in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants