Skip to content
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

Fast forward experimental-0.2 to latest main branch #1348

Merged
merged 55 commits into from
Jan 31, 2024

Conversation

kt474
Copy link
Member

@kt474 kt474 commented Jan 29, 2024

Summary

Details and comments

Fixes #

ElePT and others added 30 commits November 16, 2023 12:07
)

* Migrate fake provider

* fix lint

* Only migrate backends and fake_provider file to minimize duplication

* Add reno

* Update snippet to use runtime service

---------

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* try/except raw result truncation

* catch typeError

* revert try/except, use response.text

* update unit test
* Clean up/fix integration test

* Update test case

* Fix black
* Added deprecation warning when using qiskitrc file

* Fixed bug whereby deprecation warnings cause failure for all 'qiskit*' modules. Changed warning to deprecation warning.

* Release note

* Small grammer fix

* black

---------

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* update session.from_id()

* add deprecation warning

* add reno
* Revert "Update session.from_id() (Qiskit#1163)"

This reverts commit 8fa0472.

* add reno
* initial removal

* cleanup more files

* move result_decoder

* fix lint

* update unit tests

* update integration tests

* more docs changes

* release note

* fix path

---------

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
* Make sessions thread safe.

The lock prevents other threads from sending new jobs to the service
only if the session hasnot been setup yet. I.e.: when sending the
first "session starter job", or root job. After this happens, the code
is left unlocked to allow threads to access the service concurrently.

Error handling is needed to ensure the lock is always released.

* Allow multiple sessions to execute simultaneously

* Make session test more deterministic

---------

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
* compare cloud instance with channel strategy

* fix unit tests

* error wording

---------

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
* release notes

* fix release
* Add job.properties() method

* add reno
This is the same as Qiskit/qiskit#11352. Now that qiskit.org/ecosystem/ibm-runtime redirects to docs.quantum.ibm.com, we can simplify the docs. 

See the PR description in Qiskit/qiskit#11352 for details on the motivation for each change. The only difference from Qiskit is that we still keep the tutorials around because learning.quantum.ibm.com uses them.

I used a script with `ripgrep` to confirm that none of the images were in use.
* Error if backend not in instance

* add reno

* update reno

* docs build

* fix docs again

* docs formatting :/

* add integration test

* Update test/integration/test_backend.py

Co-authored-by: merav-aharoni <merav@il.ibm.com>

* Update test/integration/test_backend.py

Co-authored-by: merav-aharoni <merav@il.ibm.com>

---------

Co-authored-by: merav-aharoni <merav@il.ibm.com>
* The transpilation tutorial has been updated to use the new runtime transpilation passes, and Batch

* Fix style checker

* Updated names

* Updated section names for transpiled tutorial

* Updated grover

* Fixed consistency

* Final updates

---------

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* add pointer to qiskit/documentation issues

* Update .github/ISSUE_TEMPLATE/config.yml

Co-authored-by: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com>

* Update CONTRIBUTING.md

Co-authored-by: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com>

---------

Co-authored-by: Kevin Tian <kt474@cornell.edu>
Co-authored-by: Eric Arellano <14852634+Eric-Arellano@users.noreply.github.com>
* wip debug wrong instance test

* enable integration test

* use backend names instead of obj
* don't block if backend not selected

* add reno

* add test
* add activated_at to session.details()

* add reno
…skit#1267)

* Revert "Don't block for the first job in a session (Qiskit#1170)"

This reverts commit f2e24e4.

* keep test
merav-aharoni and others added 21 commits December 18, 2023 18:07
* Removed support for qiskitrc file

* lint

---------

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* Added max_time to IBMBackend.open_session.

* Release note

* Changed format of test
Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* add initial qctrl test file

* add test & decorator

* add tests from Mirko

* Added assertness for preciseness of results

* remove print statements

* move into e2e folder

* setup ci

* Update q-ctrl-tests.yml

* add account test

* add more account tests

* Update test/qctrl/test_qctrl.py

Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>

* address comments

* update date to 2023

* Update test/qctrl/test_qctrl.py

Co-authored-by: Blake Johnson <blakejohnson04@gmail.com>

* Update test/qctrl/test_qctrl.py

Co-authored-by: Blake Johnson <blakejohnson04@gmail.com>

---------

Co-authored-by: merav-aharoni <merav@il.ibm.com>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: Blake Johnson <blakejohnson04@gmail.com>
* Add dynamic circuits backend filter

* add reno
Updates the sphinx documentation build to use KaTeX instead of MathJax because the final docs build uses KaTeX. The same change was made in Qiskit in Qiskit/qiskit#11435.
* exclude params on job retrieval by default

* add reno

* add test
We got source links working in API docs on docs.quantum.ibm.com! See Qiskit/documentation#620. To do this, we need to active `sphinx.ext.viewcode`.

Note that we still plan to improve this implementation in the future to have more precise links by using `sphinx.ext.linkcode`, tracked by Qiskit/documentation#517. This PR is to unblock the first iteration of this source links mechanism.
Calling `pip install` multiple times can (deeply unfortunately) allow an
environment to become out-of-sync; `pip` doesn't "remember" the
constraints of previous installation commands.

One of the largest effects here is that doing `pip install -e .`
_followed_ by `pip install git+<qiskit>@main` installs `qiskit-terra`
from the initial installation (via `qiskit==0.45.2`), then installs
`qiskit==1.0.0.dev0` from Git, which is an incompatible environment.
Doing the whole environment resolution in a single `pip install` command
fixes this, as the `qiskit` dependency is correctly resolved to be
_only_ the `1.0.0.dev0` version.

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
This is being removed from Qiskit 1.0, and the IBM Provider is (until
deprecated) taking over brokering the IBM-Runtime-internal events.

Co-authored-by: Kevin Tian <kevin.tian@ibm.com>
* Add transpiler tests

* remove qiskittestcase
* replace qiskit.test.ReferenceCircuits

* replace BaseQiskitTest

* Update qiskit_ibm_runtime/qiskit_runtime_service.py

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

* Update qiskit_ibm_runtime/sampler.py

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

* Update qiskit_ibm_runtime/session.py

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

* Update test/utils.py

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>

---------

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@coveralls
Copy link

Pull Request Test Coverage Report for Build 7701575836

  • -259 of 460 (43.7%) changed or added relevant lines in 57 files are covered.
  • 4 unchanged lines in 4 files lost coverage.
  • Overall coverage increased (+27.0%) to 78.863%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit_ibm_runtime/fake_provider/backends/cambridge/fake_cambridge.py 1 2 50.0%
qiskit_ibm_runtime/ibm_backend.py 6 8 75.0%
qiskit_ibm_runtime/qiskit_runtime_service.py 7 9 77.78%
qiskit_ibm_runtime/utils/backend_converter.py 0 2 0.0%
qiskit_ibm_runtime/fake_provider/fake_pulse_backend.py 12 20 60.0%
qiskit_ibm_runtime/fake_provider/fake_qasm_backend.py 32 42 76.19%
qiskit_ibm_runtime/runtime_job.py 7 19 36.84%
qiskit_ibm_runtime/utils/queueinfo.py 18 56 32.14%
qiskit_ibm_runtime/fake_provider/fake_backend.py 70 254 27.56%
Files with Coverage Reduction New Missed Lines %
qiskit_ibm_runtime/accounts/management.py 1 99.02%
qiskit_ibm_runtime/qiskit_runtime_service.py 1 79.1%
qiskit_ibm_runtime/utils/backend_converter.py 1 12.28%
qiskit_ibm_runtime/utils/deprecation.py 1 43.75%
Totals Coverage Status
Change from base Build 7643054288: 27.0%
Covered Lines: 5089
Relevant Lines: 6453

💛 - Coveralls

@kt474 kt474 requested review from jyu00, mberna and gadial January 29, 2024 20:01
@dieris dieris mentioned this pull request Jan 31, 2024
@kt474 kt474 merged commit 1bae150 into Qiskit:experimental-0.2 Jan 31, 2024
17 checks passed
@kt474 kt474 deleted the ff-to-main branch January 31, 2024 18:48
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.