Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Allow state synthesis for remote simulators (#2212) * Copy pointer arguments for lazy evaluation on remote simulators Signed-off-by: Markus Pfundstein <[email protected]> * Fix flaky tests (#2221) * Fix flaky tests Signed-off-by: Markus Pfundstein <[email protected]> * fermioniq Signed-off-by: Markus Pfundstein <[email protected]> * added user_data Signed-off-by: Markus Pfundstein <[email protected]> * fermioniq provider example Signed-off-by: Markus Pfundstein <[email protected]> * updated call Signed-off-by: Markus Pfundstein <[email protected]> * fermioniq passes Signed-off-by: Markus Pfundstein <[email protected]> * fixed merge to main Signed-off-by: Markus Pfundstein <[email protected]> * fix Signed-off-by: Markus Pfundstein <[email protected]> * removed unnecessary changes from main Signed-off-by: Markus Pfundstein <[email protected]> * easier Fermionq QPU Signed-off-by: Markus Pfundstein <[email protected]> * ServerHelper now separate shared lib Signed-off-by: Markus Pfundstein <[email protected]> * Fermioniq working in python Signed-off-by: Markus Pfundstein <[email protected]> * Fermioniq working in python Signed-off-by: Markus Pfundstein <[email protected]> * Disable tests using new argument synthesis for NVQC (#2224) * Remove test_trotter.cpp until nvqc with new synthesis is working * Disable test_trotter.cpp for nvqc * Disable more state tests for nvqc Signed-off-by: Markus Pfundstein <[email protected]> * [Python] [photonics] Enable 'get_state' API (#2201) Signed-off-by: Markus Pfundstein <[email protected]> * fixing path to conda.io python env (#2230) Signed-off-by: Markus Pfundstein <[email protected]> * Publishing pipeline fixes after PR#2201 (#2229) Signed-off-by: Markus Pfundstein <[email protected]> * Fix exp_pauli issues on remote simulators and quantum devices (#2226) * Made exp_pauli work on quantum devices and remote sim * Add more tests * Address CR comments Signed-off-by: Markus Pfundstein <[email protected]> * Noise model enhancements (#2168) * Some prototyping code * Prototype * Revise the noise model * Add example * Update docstring: * Code refactor * Add tests * Code format * Add Python tests * Code format * Support custom op - For the path via ExecutionManager: making sure the registration is early enough, i.e., at the point of registration. - For the Python path: need to let the registry know about the registration. - Propagate the custom op name all the way to the simulator. * Fix a lit test * Add docs * Fix remote test * Fix spelling * Add a C++ example Signed-off-by: Markus Pfundstein <[email protected]> * [core] Separate compilation, supporting C++ host side function references. (#2216) * [core] Separate compilation, supporting C++ host side function references. These changes add a new wrapper class to support interfacing between kernels. Kernels on the device side have their own names and calling conventions. Meanwhile, the C++ host code can capture references to these kernels. The C++ compiler assumes it can erase the functions completely and degenerate any reference to them as a pointer. Furthermore, it may inline or wrap this code in a thicket of template instantiations. But in order to be useful on the device side, the CUDA-Q runtime must be able to determine which kernel was wrapped in C++ code, lookup the device side code, and "link-time" optimize these calls, doing calling convention conversions, etc. Furthermore, what must be done is flavored by the execution environment. * Update the call paths of hybridLaunchKernel so that we can use the new argument synthesis instead of falling back on and failing with quake synthesis. * Fix check lines. * More check line fixes. * Remove stale comment. * Add another deduction guide test (when using cudaq::sample). Mark all tests that use deduction guides as C++ 20 (since C++ 17 doesn't have guides). * Add a hacky workaround for python. Python needs to use the new argument synthesis, but it is still using the old quake synthesis compiler pass. * CI whining about formatting. * Remove XFAIL from state_preparation_vector.cpp * Add split-file to installed stuff. * Add tests. * Add guards to tests since some phases of the CI don't have the necessary test utilities properly installed. * Mark failing state tests as UNSUPPORTED for now. These should be fixed when the state handling using new argument synthesis is fully implemented. * Fix bug when there are multiple callables. * Review comment about include iostream. * Fix unsupported line syntax. Signed-off-by: Markus Pfundstein <[email protected]> * Use the standard C++ file banner. (#2234) Signed-off-by: Markus Pfundstein <[email protected]> * Add Clifford-only simulator (Stim) (#2235) * Add Clifford-only simulator (Stim) (#2193) * Constrain x86-64 build to AVX2 * Compilation update for #2168 --------- Co-authored-by: Thien Nguyen <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * [custom op] Two-qubit operation synthesis (#2217) * Added failing test(s) * Skeleton for a new decomposer class * Random Python tests * Using QZ decomposition * Clean up * Qubit ordering fixes * Fixing the exp_pauli decomposition * Refactor one-qubit decomposer to use eigen matrix * Increase tolerance to check for unitary * Use CHECK-DAG in lit tests, also less precision for angles * Code comments * Added failing test(s) for 3q custom operation decomposition. * Extend the C++ 2q test to all supported hardware targets. --------- Co-authored-by: Thien Nguyen <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * [C++ bridge] Add support for std::vector::data method. (#2241) * [C++ bridge] Add support for std::vector::data method. * clang-format * Fix check line to account for location. Signed-off-by: Markus Pfundstein <[email protected]> * Reformat a comment. (#2239) Signed-off-by: Markus Pfundstein <[email protected]> * Update NVQC testing deployment spec (#2248) Signed-off-by: Markus Pfundstein <[email protected]> * Renaming qkernel_ref to qkernel per the spec. (#2253) * Remove anyon target test. It's nondeterministic. See #2249. * Rename qkernel_ref to qkernel as per the latest spec. Signed-off-by: Markus Pfundstein <[email protected]> * [C++ bridge] Add support for move constructor of std::vector. (#2236) * [C++ bridge] Add support for move constructor of std::vector. Allow the use of the move constructor so that cases such as std::vector<int> vectorValue(N); ... return vectorValue; will compile and simple vectors of arithmetic types may be used. Note that this requires the CUDA-Q runtime to actually return these values to the caller rather than dropping them on the floor after a launched kernel has deactivated. That is not always the case, however, since some launchers do not expect any return value(s). Extend GKE to deal with calls since inlining may not have happened. We introduced a bug when we changed when inlining was done in the pipeline. * Update test. Signed-off-by: Markus Pfundstein <[email protected]> * clarifying the document text (#2247) Signed-off-by: Markus Pfundstein <[email protected]> * updating spec (#2255) Signed-off-by: Markus Pfundstein <[email protected]> * merged upstream main into branch Signed-off-by: Markus Pfundstein <[email protected]> * extracted PyFermioniq into separate file Signed-off-by: Markus Pfundstein <[email protected]> * added {F,f}ermioniq to spelling allowlist Signed-off-by: Markus Pfundstein <[email protected]> * linter Signed-off-by: Markus Pfundstein <[email protected]> * sorted allowlist Signed-off-by: Markus Pfundstein <[email protected]> * sorted allowlist Signed-off-by: Markus Pfundstein <[email protected]> * linter Signed-off-by: Markus Pfundstein <[email protected]> * latest submod Signed-off-by: Markus Pfundstein <[email protected]> * reuse lowerQuakeCode instead of own implementation Signed-off-by: Markus Pfundstein <[email protected]> * Add enumerated noise_model_type to noise interface (#2200) Signed-off-by: Markus Pfundstein <[email protected]> * ORCA asynchronous sampling (#2205) Support for asynchronous sampling for ORCA backend --------- Co-authored-by: Pradnya Khalate <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * Allow controlled Z gates for profile-specific QIR (#2245) Signed-off-by: Markus Pfundstein <[email protected]> * Revert "latest submod" This reverts commit c293db9. Signed-off-by: Markus Pfundstein <[email protected]> * removed v2 flag from chrono Signed-off-by: Markus Pfundstein <[email protected]> * add fermioniq to ignore list Signed-off-by: Markus Pfundstein <[email protected]> * added FermioniqQPU class as registered type Signed-off-by: Markus Pfundstein <[email protected]> * [core] Add quantum reference product type (#2254) * Start on pure quantum struct usage in kernels Signed-off-by: Alex McCaskey <[email protected]> * Update the python bindings with new qstruct restrictions Signed-off-by: Alex McCaskey <[email protected]> * Enable default parenthesis constructor Signed-off-by: Alex McCaskey <[email protected]> * disallow recursive quantum struct Signed-off-by: Alex McCaskey <[email protected]> * Implement error handling for various cases in python Signed-off-by: Alex McCaskey <[email protected]> * spell fixes Signed-off-by: Alex McCaskey <[email protected]> * forgot to filter out __qpu__ methods on structs, those are allowed Signed-off-by: Alex McCaskey <[email protected]> * Add new quantum reference type, !quake.struq, and a couple of new operations: quake.make_struq and quake.get_member. These add the utility of having a product quantum reference type (to logically group together sets of qubits) but keep the classical and quantum dialects distinct. Update the tests, python ast bridge, C++ bridge, add codegen patterns, etc. * Whackamole games with the CI. Add roundtrip test on new type and ops. Update the python tests. Also change test to eliminate deprecation warnings. Add invlid IR checks for new operations. Add sanity checks. We do not want to allow a quantum struct that holds anything but non-owning references to qubits or qubit collections. Remove unused folder pattern. Workaround for overly assertive compiler warning. Reenable the hash-and-cache of extract_ref ops in the C++ bridge. This is a dubious optimization that we may actually want to take out at some point, but that should be part of a distinct/different PR. Update test to work around that pytest output can be shuffled. Add case to python for quake.struq type. Another python fix. Add explicit checks to utils.py. Stab in the dark. --------- Signed-off-by: Alex McCaskey <[email protected]> Co-authored-by: Alex McCaskey <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * Add multi-QPU support for the 'orca' target (#2260) Signed-off-by: Markus Pfundstein <[email protected]> * docstrings Signed-off-by: Markus Pfundstein <[email protected]> * fermioniq on correct line now. extracted hardcoded params into env vars. Signed-off-by: Markus Pfundstein <[email protected]> * system_clock instead of high_resolution_clock Signed-off-by: Markus Pfundstein <[email protected]> * removed unused code Signed-off-by: Markus Pfundstein <[email protected]> * removed unnecessary comment Signed-off-by: Markus Pfundstein <[email protected]> * fixed target description Signed-off-by: Markus Pfundstein <[email protected]> * removed unnecessary comments Signed-off-by: Markus Pfundstein <[email protected]> * Random walk phase estimation example in Python #1579 (#2060) * Random walk phase estimation example in Python #1579 * Formatting and spelling * Missed one formatting change --------- Co-authored-by: Bettina Heim <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * Fixes a bug with separate compilation. (#2264) * Fixes a bug with separate compilation. The bridge wasn't adding all possible `__qpu__` functions to the list, so the call converter wasn't converting a pure device kernel call on the device side. This change fixes that bug, updates the call converter to be able to add any missing declaration(s), and adds a regression test. Signed-off-by: Eric Schweitz <[email protected]> * Update the documentation. Signed-off-by: Eric Schweitz <[email protected]> --------- Signed-off-by: Eric Schweitz <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * added fermioniq docs Signed-off-by: Markus Pfundstein <[email protected]> * First draft Signed-off-by: Markus Pfundstein <[email protected]> * Changing CLA to use DCO (#2261) Signed-off-by: Bettina Heim <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * Fix argument passing issue in C++ bridge. (#2266) In C++, pointers to arrays are automatically compatible with pointers to the scalar element type. Teach the bridge this C++ rule. Add a new regression test. Signed-off-by: Eric Schweitz <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> * improved docs Signed-off-by: Markus Pfundstein <[email protected]> * added observables Signed-off-by: Markus Pfundstein <[email protected]> * lint Signed-off-by: Markus Pfundstein <[email protected]> * Log change DCO Remediation Commit for Markus Pfundstein <[email protected]> I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 0650288 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: deae98e I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 0ca3df0 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 5f5be12 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: e7c3338 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: d29c15b I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 5d9625c I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 25012b9 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: b7f402e I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 34b4ca1 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: b17c362 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 958de30 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 6c132ca I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 4f3a7d7 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 0d31cec I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 822dae2 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: de0ad71 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 93e9b60 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 93ba5b3 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: c293db9 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 57ccdf9 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: db1178e I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 866fac8 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: baca2db I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: c655184 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: cfc712c I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 29d79d5 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 2bb1566 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 3c8bdc9 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 25f6a2e I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 4fa3191 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 563b843 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: ebf9a72 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 2588cf5 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 9b0cf90 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 73d2b6f Signed-off-by: Markus Pfundstein <[email protected]> * Cleaning up docs preview for PR #5. Signed-off-by: Markus Pfundstein <[email protected]> * subclass from FermioniqBaseQPU instead of BaseRemoteRESTQPU * also override the more complex launchKernel method to make sure it always invokes the correct lowerQuakeCode * DCO Remediation Commit for Markus Pfundstein <[email protected]> I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 20532bc I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 74d0801 Signed-off-by: Markus Pfundstein <[email protected]> * added integration tests to CI * DCO Remediation Commit for Markus Pfundstein <[email protected]> I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: dc25143 Signed-off-by: Markus Pfundstein <[email protected]> * added fermioniq to dropdown Signed-off-by: Markus Pfundstein <[email protected]> * reverted change to sample_result interface * fix * DCO Remediation Commit for Markus Pfundstein <[email protected]> I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: 0665ac7 I, Markus Pfundstein <[email protected]>, hereby add my Signed-off-by to this commit: ac7a5c1 Signed-off-by: Markus Pfundstein <[email protected]> * merged main Signed-off-by: Markus Pfundstein <[email protected]> * merged with main. Signed-off-by: Markus Pfundstein <[email protected]> * Update .github/workflows/config/spelling_allowlist.txt Co-authored-by: Ben Howe <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> --------- Signed-off-by: Markus Pfundstein <[email protected]> Signed-off-by: Alex McCaskey <[email protected]> Signed-off-by: Eric Schweitz <[email protected]> Signed-off-by: Markus Pfundstein <[email protected]> Co-authored-by: Anna Gringauze <[email protected]> Co-authored-by: Pradnya Khalate <[email protected]> Co-authored-by: Sachin Pisal <[email protected]> Co-authored-by: Thien Nguyen <[email protected]> Co-authored-by: Eric Schweitz <[email protected]> Co-authored-by: Ben Howe <[email protected]> Co-authored-by: Thien Nguyen <[email protected]> Co-authored-by: Omar Bacarreza <[email protected]> Co-authored-by: Pradnya Khalate <[email protected]> Co-authored-by: Alex McCaskey <[email protected]> Co-authored-by: Gaurang Belekar <[email protected]> Co-authored-by: Bettina Heim <[email protected]> Co-authored-by: Christopher Cade <[email protected]> Co-authored-by: cuda-quantum-bot <[email protected]>
- Loading branch information