-
Notifications
You must be signed in to change notification settings - Fork 207
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
anyon target is not stable in CI #2249
Comments
Just leaving this here for when we tackle the underlying root cause. #2253 removed some of the tests, so refer to that PR when adding the tests back in. |
* Remove anyon target test. It's nondeterministic. See #2249. * Rename qkernel_ref to qkernel as per the latest spec.
* Remove anyon target test. It's nondeterministic. See NVIDIA#2249. * Rename qkernel_ref to qkernel as per the latest spec. Signed-off-by: Omar Bacarreza <obacarreza@orcacomputing.com>
* Remove anyon target test. It's nondeterministic. See NVIDIA#2249. * Rename qkernel_ref to qkernel as per the latest spec. Signed-off-by: Markus Pfundstein <markus@life-electronic.nl>
@schweitzpgi - is it possible this is related to #1712? |
Might be. These failures were popping up for @khalatepradnya and @sacpis and myself somewhat randomly in the CI and about 50% of the time. The failure mode was that there was nothing appearing on the stdout stream. As it was hard to reproduce locally (smaller machine, fewer threads?), it was backed out rather than forcing everyone to run the CI twice per rebase on average. |
just want to note that the CI tests were done multiple times without failures during the several days trying to merge the initial Anyon PR. is it possible that PRs after Sept 10 added something that increased the parallel workload in building the installer? It could be that simultaneously building multiple components that also build the same libraries in the processes repeatedly might cause problems for OS on smaller machines [inspired by discussions on sporadic build errors seen here ]. |
It's true that it ran multiple times in the CI while it was still a PR, so something that came in afterwards could've contributed to the problem. For what it's worth, I don't think the problem is unique to the Anyon target ... this example shows a failure in |
* Allow state synthesis for remote simulators (#2212) * Copy pointer arguments for lazy evaluation on remote simulators Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Fix flaky tests (#2221) * Fix flaky tests Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fermioniq Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added user_data Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fermioniq provider example Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * updated call Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fermioniq passes Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fixed merge to main Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fix Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * removed unnecessary changes from main Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * easier Fermionq QPU Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * ServerHelper now separate shared lib Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Fermioniq working in python Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Fermioniq working in python Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <markus@life-electronic.nl> * [Python] [photonics] Enable 'get_state' API (#2201) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fixing path to conda.io python env (#2230) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Publishing pipeline fixes after PR#2201 (#2229) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <markus@life-electronic.nl> * 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 <markus@life-electronic.nl> * [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 <markus@life-electronic.nl> * Use the standard C++ file banner. (#2234) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <58006629+1tnguyen@users.noreply.github.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * [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 <thiennguyen@nvidia.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * [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 <markus@life-electronic.nl> * Reformat a comment. (#2239) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Update NVQC testing deployment spec (#2248) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <markus@life-electronic.nl> * [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 <markus@life-electronic.nl> * clarifying the document text (#2247) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * updating spec (#2255) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * merged upstream main into branch Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * extracted PyFermioniq into separate file Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added {F,f}ermioniq to spelling allowlist Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * linter Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * sorted allowlist Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * sorted allowlist Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * linter Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * latest submod Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * reuse lowerQuakeCode instead of own implementation Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Add enumerated noise_model_type to noise interface (#2200) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * ORCA asynchronous sampling (#2205) Support for asynchronous sampling for ORCA backend --------- Co-authored-by: Pradnya Khalate <pkhalate@nvidia.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Allow controlled Z gates for profile-specific QIR (#2245) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Revert "latest submod" This reverts commit c293db9. Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * removed v2 flag from chrono Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * add fermioniq to ignore list Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added FermioniqQPU class as registered type Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * [core] Add quantum reference product type (#2254) * Start on pure quantum struct usage in kernels Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * Update the python bindings with new qstruct restrictions Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * Enable default parenthesis constructor Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * disallow recursive quantum struct Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * Implement error handling for various cases in python Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * spell fixes Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * forgot to filter out __qpu__ methods on structs, those are allowed Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> * 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 <amccaskey@nvidia.com> Co-authored-by: Alex McCaskey <amccaskey@nvidia.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Add multi-QPU support for the 'orca' target (#2260) Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * docstrings Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fermioniq on correct line now. extracted hardcoded params into env vars. Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * system_clock instead of high_resolution_clock Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * removed unused code Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * removed unnecessary comment Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * fixed target description Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * removed unnecessary comments Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <heimb@outlook.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <eschweitz@nvidia.com> * Update the documentation. Signed-off-by: Eric Schweitz <eschweitz@nvidia.com> --------- Signed-off-by: Eric Schweitz <eschweitz@nvidia.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added fermioniq docs Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * First draft Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Changing CLA to use DCO (#2261) Signed-off-by: Bettina Heim <heimb@outlook.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <eschweitz@nvidia.com> Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * improved docs Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added observables Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * lint Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Log change DCO Remediation Commit for Markus Pfundstein <markus@life-electronic.nl> I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 0650288 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: deae98e I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 0ca3df0 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 5f5be12 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: e7c3338 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: d29c15b I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 5d9625c I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 25012b9 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: b7f402e I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 34b4ca1 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: b17c362 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 958de30 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 6c132ca I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 4f3a7d7 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 0d31cec I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 822dae2 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: de0ad71 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 93e9b60 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 93ba5b3 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: c293db9 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 57ccdf9 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: db1178e I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 866fac8 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: baca2db I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: c655184 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: cfc712c I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 29d79d5 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 2bb1566 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 3c8bdc9 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 25f6a2e I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 4fa3191 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 563b843 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: ebf9a72 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 2588cf5 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 9b0cf90 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 73d2b6f Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Cleaning up docs preview for PR #5. Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * 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 <markus@life-electronic.nl> I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 20532bc I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 74d0801 Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added integration tests to CI * DCO Remediation Commit for Markus Pfundstein <markus@life-electronic.nl> I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: dc25143 Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * added fermioniq to dropdown Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * reverted change to sample_result interface * fix * DCO Remediation Commit for Markus Pfundstein <markus@life-electronic.nl> I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: 0665ac7 I, Markus Pfundstein <markus@life-electronic.nl>, hereby add my Signed-off-by to this commit: ac7a5c1 Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * merged main Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * merged with main. Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> * Update .github/workflows/config/spelling_allowlist.txt Co-authored-by: Ben Howe <141149032+bmhowe23@users.noreply.github.com> Signed-off-by: Markus Pfundstein <MarkusPfundstein@users.noreply.github.com> --------- Signed-off-by: Markus Pfundstein <markus@life-electronic.nl> Signed-off-by: Alex McCaskey <amccaskey@nvidia.com> Signed-off-by: Eric Schweitz <eschweitz@nvidia.com> Signed-off-by: Markus Pfundstein <MarkusPfundstein@users.noreply.github.com> Co-authored-by: Anna Gringauze <agringauze@nvidia.com> Co-authored-by: Pradnya Khalate <148914294+khalatepradnya@users.noreply.github.com> Co-authored-by: Sachin Pisal <spisal@nvidia.com> Co-authored-by: Thien Nguyen <58006629+1tnguyen@users.noreply.github.com> Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> Co-authored-by: Ben Howe <141149032+bmhowe23@users.noreply.github.com> Co-authored-by: Thien Nguyen <thiennguyen@nvidia.com> Co-authored-by: Omar Bacarreza <126694261+Omar-ORCA@users.noreply.github.com> Co-authored-by: Pradnya Khalate <pkhalate@nvidia.com> Co-authored-by: Alex McCaskey <amccaskey@nvidia.com> Co-authored-by: Gaurang Belekar <69144860+Gaurang-Belekar@users.noreply.github.com> Co-authored-by: Bettina Heim <heimb@outlook.com> Co-authored-by: Christopher Cade <ccade670@gmail.com> Co-authored-by: cuda-quantum-bot <cuda-quantum-bot@users.noreply.github.com>
It appears that the anyon target is not stable in the CI. Various tests will fail to verify when this target is selected and report that the standard output of the process is empty. We believe this is an undiscovered bug somewhere in this target's implementation.
As a workaround, we're removing this target from target tests on an ad hoc basis to keep the CI working in a deterministic way.
The text was updated successfully, but these errors were encountered: