Skip to content

Support Asynchronous Execution with Compatibility Layer#1331

Merged
kalzoo merged 62 commits intorcfrom
1330-async-execution
Jun 23, 2021
Merged

Support Asynchronous Execution with Compatibility Layer#1331
kalzoo merged 62 commits intorcfrom
1330-async-execution

Conversation

@kalzoo
Copy link
Contributor

@kalzoo kalzoo commented Apr 28, 2021

Description

This PR removes execution-specific state from QAM and its subclasses, while adding a compatibility layer for use according to the v2 API.

Note that QVM tests are passing, unchanged, when run through that compatibility layer.

TODO:

  • Adapt unit tests to new API as well
  • QPU object
  • Update documentation
  • Ensure branch pipeline passes on GitLab

Checklist

  • The PR targets the rc branch (not master).
  • Commit messages are prefixed with one of the prefixes outlined in the commit syntax checker (see pattern field).
  • The above description motivates these changes.
  • There is a unit test that covers these changes.
  • All new and existing tests pass locally and on the PR's checks.
  • Parameters and return values have type hints with PEP 484 syntax.
  • Functions and classes have useful Sphinx-style docstrings.
  • All code follows Black style and obeys flake8 conventions.
  • (New Feature) The docs have been updated accordingly.
  • The changelog is updated

@kalzoo kalzoo changed the title 1330-async-execution Support Asynchronous Execution with Compatibility Layer Apr 28, 2021
@kalzoo kalzoo force-pushed the 1330-async-execution branch 3 times, most recently from 0a432c7 to d1d36f2 Compare June 14, 2021 00:39
@kalzoo kalzoo force-pushed the 1330-async-execution branch from d1d36f2 to b56996f Compare June 14, 2021 00:49
@kalzoo kalzoo marked this pull request as ready for review June 23, 2021 03:53
@kalzoo kalzoo requested a review from a team as a code owner June 23, 2021 03:53
@kalzoo kalzoo merged commit c4862ec into rc Jun 23, 2021
@kalzoo kalzoo deleted the 1330-async-execution branch June 23, 2021 18:25
kalzoo added a commit that referenced this pull request Jun 23, 2021
)

* Breaking: Support QVM asynchronous execution with compatibility layer

* Breaking: store parameter values on Program, not QAM

* Breaking: QPU supports new QAM API

* Update: refactor program memory management

* No code: update tests to use new API

* No code: update docs

* No code: address Program thread safety in docs

* Breaking: return execution results data as readout_data, not memory

* Breaking: remove QAM.experiment attribute

* Fix: make QPUCompiler.calibration_program thread-safe

* No code: remove entry from mypy config

* Fix: replace threading.Lock with multiprocessing.Lock

* Fix: Program#copy

* No code: fix autodoc toctree

* No code: use Rigetti fork of dephell

Co-authored-by: Eric Hulburd <3526083+erichulburd@users.noreply.github.com>
Co-authored-by: Andrew Meyer <ameyer@rigetti.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants