-
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
State initialization feature and performance improvements related to state handling #1754
Conversation
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
Command Bot: Processing... |
Audit core is #1766 |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
This commit squashes all the commits on the experimental/stateHandling branch into a single "mega-commit". Please double-check that the changes here are what you expect to be merged into main. Add back lost conversion of StateType. Co-authored-by: Anna Gringauze <agringauze@nvidia.com> Co-authored-by: Thien Nguyen <58006629+1tnguyen@users.noreply.github.com> Co-authored-by: Alex McCaskey <amccaskey@nvidia.com>
skip the trotter test. cannot synthesis this one. Ignore builder.cpp test.
* Optimize tensornet state amplitude accessor * Fixes for mps state init - Don't expand the init tensors: may cause canonicalization errors. - Add host workspace allocation just in case cutn needs it. * Update runtime/nvqir/cutensornet/mps_simulation_state.h Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> * Update runtime/nvqir/cutensornet/tn_simulation_state.h Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> * Code format * Fix Python3.8: TypeError: 'type' object is not subscriptable * Fix a stale test: __quantum__rt__qubit_allocate_array_with_state_fpXX was renamed --------- Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
* [stateHandling] Code cleanup. Prep for merge to main. Audited the compiler core changes and found some code cleanups. * clang-format
* Add support for initialization of qvector from lists * Fix formatting changes * Support nd.array creation with dtypes and creating qvector from it * temp * Add automatic conversion to the simulation precision data type * Use simluation dtype for alloca operation, add length checking for scalar lists * Support creating nd arrays and initializing vectors. Add a vector copy if necessary * Fixed spelling * Remove dictionary.dic * Support cudaq.amplitudes inside kernels * Fixed test failures * Updated test * Fixed more failing tests * Remove creating qvector of const length to be handled later * Temp * Try a couple of ways to get state data * Made it work e2e for testing * Cleanup * Support captured cudaq states in kernels * Added error tests for trying to create a state from incorrect precision data * Remove unneded comments * Use a counter ID for captured states instead of hashes * Cleanup * Support qalloc from state * Use common code for captured data storage in ast_bridge * Remove temp files * Add trotter example * temp * Add trotter examples and allow passing pauli_word as argument to kernels in c++ * Cleaup * Addressed CR comments and fixed bugs in tests * Addressed CR Comments on Trotter examples PR * Remove unneded functions * Remove vector-converting MLIR code and rely on runtime instead * Create template helpers for array conversion * Fix python trotter tests and add helper functions for type conversion * Cleanup * Update runtime/nvqir/NVQIR.cpp Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> * Use concepts to constraint the conversion data types * Fix incorrect comment * Update runtime/nvqir/NVQIR.cpp Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> * Fix merge problem * Rename size to numQubits where relevant --------- Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Command Bot: Processing... |
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
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.
Python code and cpp changes for it look good to me.
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.
lots of great work here +1
This commit squashes all the commits on the experimental/stateHandling branch into a single "mega-commit".
These changes include the majority of the work for both #1107 and #1086.