-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Flaky CI tests with Scipy 1.11.0 on Windows Python 3.11 #10345
Comments
Are all the failures in |
Yeah, the traceback I linked is the only failing example I've seen, and it only occurs on Windows. |
in particular if it's only Or you could dust off your slower but non-randomized algorithm from a couple years ago :-) As I recall it was mainly slow because it was doing a lot of python-level array indexing and manipulation and therefore slow because less numpy-accelerated. I bet a rust implementation of that algorithm would be faster and more robust than both TwoQubitWeylDecomposition randomized hermitian eval/evec solver and the weyl_coordinates non-hermitian eval-only algorithm. :-) |
Thanks Lev. Yeah, that's a good point - we could definitely just do the eigensystem bits using the Scipy dynamically linked BLAS, then pass the array views down to Rust to sort out the orthonormalisation step. I think for now I'll pin scipy to get CI rolling again, and then I'll try and figure things out better when I've got a bit more of a moment - I've got a bunch of dynamics-circuits-related feature stuff that needs to take priority first. |
Thanks Ray, that's (of sorts) good news for the Terra 0.25 release, because it means that the problem was pre-existing, so we're fine to ship with our requirements allowing Scipy 1.11. I can safely remove this from the 0.25 milestone, and I might be able to make that change that Lev's suggested above to hopefully fortify our eigensystem routines a little bit. It's a little easier now that we've built up a lot more infrastructure in Rust around accelerated compiled routines. |
I also found this error happening on Windows with Python 3.10 but only with any version with the For now, I can only recommend we run CI on Windows machines with Python<=3.10 and with |
In CI we're seeing a reliable failure on windows when scipy is calling LAPACK. This appears to be unrelated to the change in this PR branch and is isolated to specific windows environments. This commit adds a skip condition to skip that one test to workaround the failure in CI. The wider issue with scipy compatibility on windows is being tracked in issue Qiskit#10345, when we have a conclusion to that and can reliably run this test we should remove this skip condition.
* Allow control flow in opt levels 2 and 3. * Add release note. * Enable testing for opt 2 and 3. * Remove guard on translation_method='synthesis'. * Fix test for synthesis guard. * Skip o3 qpy full path transpile test on windows In CI we're seeing a reliable failure on windows when scipy is calling LAPACK. This appears to be unrelated to the change in this PR branch and is isolated to specific windows environments. This commit adds a skip condition to skip that one test to workaround the failure in CI. The wider issue with scipy compatibility on windows is being tracked in issue #10345, when we have a conclusion to that and can reliably run this test we should remove this skip condition. --------- Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
* Allow control flow in opt levels 2 and 3. * Add release note. * Enable testing for opt 2 and 3. * Remove guard on translation_method='synthesis'. * Fix test for synthesis guard. * Skip o3 qpy full path transpile test on windows In CI we're seeing a reliable failure on windows when scipy is calling LAPACK. This appears to be unrelated to the change in this PR branch and is isolated to specific windows environments. This commit adds a skip condition to skip that one test to workaround the failure in CI. The wider issue with scipy compatibility on windows is being tracked in issue Qiskit#10345, when we have a conclusion to that and can reliably run this test we should remove this skip condition. --------- Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Environment
What is happening?
CI is flaky on Windows / Python 3.11 since the release of Scipy 1.11.
How can we reproduce the issue?
Example CI traceback:
What should happen?
Reliable CI.
Any suggestions?
I suspect / hope that this is just something like Scipy's internal ARPACK build being done with a new compiler that's tweaked things a little bit. Eigensystem routines are never 100% reliable, and we call them a lot, so it's pretty likely that it just so happens that one matrix in our test suite happens to be a bit unreliable.
In the longer term, we can potentially attempt to stabilise the routines by the insertion of some very slight amounts of noise if the initial decomposition fails, but we'd first need to work out if the Scipy 1.11 is actually significantly less stable than what we've already got; it could just be an unlucky isolated failure.
The text was updated successfully, but these errors were encountered: