Closed lazyoracle closed 2 years ago
Merging #217 (f0d16d7) into dev (ad9ba29) will decrease coverage by
0.72%
. The diff coverage is90.00%
.
@@ Coverage Diff @@
## dev #217 +/- ##
==========================================
- Coverage 75.02% 74.30% -0.73%
==========================================
Files 38 38
Lines 5593 5545 -48
==========================================
- Hits 4196 4120 -76
- Misses 1397 1425 +28
Impacted Files | Coverage Δ | |
---|---|---|
c3/qiskit/c3_backend.py | 90.90% <88.88%> (-2.85%) |
:arrow_down: |
c3/qiskit/c3_provider.py | 85.29% <100.00%> (ø) |
|
c3/qiskit/c3_backend_utils.py | 26.78% <0.00%> (-33.93%) |
:arrow_down: |
c3/experiment.py | 74.83% <0.00%> (-2.32%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update ad9ba29...f0d16d7. Read the comment docs.
What
This PR reworks parts of the qiskit interface to allow more efficient batched circuit execution. Qiskit jobs can contain multiple experiments (each experiment containing a qasm circuit) and these are now batch processed without recomputing expensive propagators.
Why
Closes #199
How
C3 experiment object is now initialised at the job level, and not at the qiskit experiment level. Propagators are also created once per job and not for every experiment in a job. If a particular experiment has a SetParamsGate the propagators are recomputed.
Remarks
Check the
Full_Loop_single_qubit.ipynb
for an example of processing batched circuits.Checklist
Please include and complete the following checklist. Your Pull Request is (in most cases) not ready for review until the following have been completed. You can create a draft PR while you are still completing the checklist. Check the Contribution Guidelines for more details. You can mark an item as complete with the
- [x]
prefixblack
andflake8
have been used to ensure styling guidelines are metnumpydoc
style