Comments (6)
These changes are live on the branch 'feature-faster-algorithm-tests' (same branch I've been doing my debugging for #369, fwiw). Sorry for not following up to indicate that I had pushed this.
P.S. Because I am doing the debugging on #369 the yamls for the CI workflow on github runners are currently tweaked on this branch, so be mindful of that to avoid accidentally propagating those changes to other branches.
from pygsti.
Some updates:
- I've streamlined the tests in test_fiducialpairreduction.py and have got the runtime for that set of tests down to ~15 seconds on a single thread on my machine (down from 9:33 originally).
- As part of those updates I did some refactoring of the test fixtures to use a non-legacy modelpack. That broke a bunch of stuff so I had to refactor a good chunk of the remainder of the algorithms test module and implement some bugfixes in the actual codebase to fix that.
- I also noticed some coverage lapses in test_fiducialselection, which plugged a bit.
All in all the algorithms module now takes ~1:45 on a single thread on my laptop. Current time outliers are the gauge optimization tests in test_gaugeopt.py. So I'll take a quick look at those before pushing up a branch with these changes.
from pygsti.
Thanks for raising this issue, @rileyjmurray. I'm familiar with the relevant knobs here and should be able to get the runtime trimmed down. I clocked this set of tests at 9:33 on a single thread on my x86-based machine. Some low-hanging fruit I noticed right away:
- FPR typically doesn't do anything to the idle gate, so testing FPR with a gate set that includes the idle is a waste of computation.
- For the randome FPR routines we can significantly reduce the number of per-iteration samples taken, as the resulting reduced sets don't actually need to be good for the sake of testing.
I'll make those changes and report back on the updated testing times (we can decide if we need any more pruning at that point).
from pygsti.
from pygsti.
@coreyostrove can you push these changes to a branch so I can pull them down?
from pygsti.
Closed with release of 0.9.12.
from pygsti.
Related Issues (20)
- Reparameterizing model doesn't propagate to model members dictionaries HOT 2
- Cannot compute product of editable circuit
- Nondeterministic Unit Test Failures HOT 5
- Re-evaluating Skipped Unit Tests HOT 3
- OpenQASM returned by convert_to_openqasm includes opaque gates. HOT 8
- Gauge transformations on SPAM HOT 2
- Faster unit tests/notebooks HOT 9
- Unexpected file in test_packages HOT 2
- ProtocolResults Incompletely Loads From Directory
- Target & True Models Should Be Static HOT 5
- Idea: Switch macOS tests to run against beta branch HOT 4
- Pygsti is incompatible with scipy 1.12 HOT 1
- Fiducial selection for prep fiducials generates wrong qubit labels HOT 7
- Avoid unintended calls to ``ComplementPOVMEffect.to_vector()``
- Use ``@`` for matrix-matrix and matrix-vector multiplications HOT 3
- Docstring for QuditProcessorSpec has mistake for "availability"
- Distinction between correlation error generators and active error generators in HTML reports
- Performance improvement for 2-qubit GST HOT 1
- How to characterize crosstalk errors with PyGsti?
- TypeError when performing gauge optimization with respect to fidelity or trace distance
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pygsti.