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

Add support for BackendV2 #102

Merged
merged 27 commits into from
Feb 21, 2022

Conversation

rathishcholarajan
Copy link
Member

@rathishcholarajan rathishcholarajan commented Jan 14, 2022

Summary

Add support for BackendV2

Details and comments

Fixes #73

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@rathishcholarajan rathishcholarajan force-pushed the 73-backendv2 branch 3 times, most recently from 9e8f975 to f109588 Compare January 19, 2022 18:18
@rathishcholarajan rathishcholarajan marked this pull request as ready for review January 20, 2022 10:17
@daka1510
Copy link
Collaborator

Added a minor comment, other than that it looks good to me.

This PR will likely conflict with (at least) #97 and #114.

Copy link
Collaborator

@daka1510 daka1510 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from my side.

@jyu00
Copy link
Collaborator

jyu00 commented Jan 28, 2022

Don't forget to update this tutorial, which has a giant "TODO - finish when BackendV2 is done" lol

@rathishcholarajan rathishcholarajan force-pushed the 73-backendv2 branch 3 times, most recently from 13ab2ea to b251783 Compare February 2, 2022 19:54
Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some initial comments from a quick first pass over the PR

qiskit_ibm_runtime/ibm_backend.py Outdated Show resolved Hide resolved
qiskit_ibm_runtime/ibm_backend.py Show resolved Hide resolved
qiskit_ibm_runtime/ibm_backend.py Show resolved Hide resolved
@rathishcholarajan rathishcholarajan force-pushed the 73-backendv2 branch 2 times, most recently from 466e655 to 9a58b48 Compare February 14, 2022 00:31
@coveralls
Copy link

coveralls commented Feb 16, 2022

Pull Request Test Coverage Report for Build 1867802536

  • 50 of 168 (29.76%) changed or added relevant lines in 7 files are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage decreased (-1.4%) to 56.778%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit_ibm_runtime/ibm_runtime_service.py 1 2 50.0%
qiskit_ibm_runtime/jupyter/dashboard/backend_widget.py 0 1 0.0%
qiskit_ibm_runtime/visualization/interactive/error_map.py 0 1 0.0%
qiskit_ibm_runtime/jupyter/dashboard/dashboard.py 0 3 0.0%
qiskit_ibm_runtime/ibm_backend.py 35 81 43.21%
qiskit_ibm_runtime/utils/backend_converter.py 13 79 16.46%
Files with Coverage Reduction New Missed Lines %
qiskit_ibm_runtime/ibm_backend.py 2 49.35%
Totals Coverage Status
Change from base Build 1866923533: -1.4%
Covered Lines: 2044
Relevant Lines: 3600

💛 - Coveralls

@rathishcholarajan rathishcholarajan merged commit 7a12cd9 into Qiskit:main Feb 21, 2022
@rathishcholarajan rathishcholarajan deleted the 73-backendv2 branch February 21, 2022 03:30
@rathishcholarajan rathishcholarajan added the Changelog: API Change Include in the Changed section of the changelog label Feb 24, 2022
mergify bot added a commit to Qiskit/qiskit that referenced this pull request Mar 31, 2022
* Add backend converter script from Matthew

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* FakeBackendV2, FakeQasmBeckendV2, FakeJakartaV2 in progress

* Temporary fix for circular import

* First try of implementing FakeJakartaV2 based on FakeQasmBackendV2/FakeBackendV2

* Implement FakeQasmBackend methods into FakeBackendV2

* Implement FakePulseBackend methods into FakeBackendV2

* Import missing PulseDefaults and adjust _get_conf_from_json method position

* Adjust _get_config_from_dict method position

* Fix target property

Need to take closer look at _convert_to_target method

* Fix _default_options method

* Add FakeProviderV2 for V2 fake backends

* Remove FakeQasmBackendV2 class

* Copy run method from FakeBackendV1

* change configuration to self._configuration

* Update backend_converter.py

Based on the latest version on Qiskit/qiskit-ibm-runtime#102

Co-Authored-By: Rathish Cholarajan <rathishc24@gmail.com>

* @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target

* Add dtm

* Add qubit properties

* Add drive, measure and acquire channels.

* Fix test_fake_backends

* Fix ConfigurableFakeBackend circular import problem

* Fix configurable_backend circular import problem

* FakeAlmadenV2

* FakeArmonkV2

* FakeAthensV2

* FakeBelemV2

* FakeBoeblingenV2

* Add fake backends (except rueschlikon, tenerife and tokyo)

* import fake v2 backends in __init__.py

* add fake backends to mock.backend.__init__ and fake provider

* Fix typos

* Add defs files to manila, poughkeepsie, rome and santiago

* Fix FakeCambridgeV2

* Add Hanoi and Kolkata to FakeProviderV2

* Handle no pulse backends in V2

* Fix getting qubit properties from properties bug

* Fix _parse_inst_map for BackendV2 with no pulse support

* Revert "Update backend_converter.py"

This reverts commit 2438935.

* Revert " @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target"

This reverts commit eec4a49.

* Use dicts instead of conf, props, defs objects

* remove channels

* add type hints

* Use dict.get instead of brackets

* clean up backend_converter.py

* construct target using defs files if it exist

* Fix typo in target.acquire_alignment

* Handle BackendV2 in transpiler._parse_inst_map

* Comment out backends in fake provider and Aer run method for testing

* undo typo fix for target.acquire_alignment

* Revert "Comment out backends in fake provider and Aer run method for testing"

This reverts commit 2127b34.

* Copy NoiseModel.from_backend() method from Aer

* modify NoiseModel.from_backend method to support V2 backend

* Build V2 backend noise model from self._props_dict

* black reformatting

* Move V2 backend code to above V1 and Legacy

* Clean up FakeBackendV2 for testing

* Order FakeBackendV2 to match BackendV2

* Uncomment out fake backends from fake provider v1 and fake legacy provider

* Remove unused imports

* Remove FakeTokyoV2 import

* Remove warnings for missing conf, props and defs files

* Remove lazy loading of target

* Remove lazy loading of qubit properties

* Remove deprecation warning for standard_gates option in noise model

* linting for fake_backend.py

* linting for backend_converter.py

* fix `Redefining name 'warnings' from outer scope` error

* lint: rename qubit_props_dict_from_props_dict

* Raise error for pulse simulation

* remove warnings flag

* Move V2 to in front of V1

* revert changes in transpiler._parse_inst_map

The changes are now in a separate PR: #7765

* remove warnings flag

* fix 'no-else-raise' error

* Add docstring to FakeBackendV2

* rename `kwargs` to `options` in .run method

following BackendV2

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* rearrange raising error for pulse job

* Add a TODO comment for removing PulseDefaults

* fix typo

* black reformat

* Add release note.

* Fix no else raise error

* Add blank new line in release note

* black formatting

* fix release note missing black tick

* Rename FakeProviderV2 to FakeProviderForBackendV2

* Re-export FakeProviderForBackendV2 to qiskit.providers.fake_provider

* black reformatting

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
blakejohnson pushed a commit to blakejohnson/qiskit-ibm-runtime that referenced this pull request May 26, 2023
…iskit#102)

* fix passing optimizer via dicts

* fix VQE if running with aux_ops

Co-authored-by: Julien Gacon <gaconju@gmail.com>
ElePT pushed a commit to ElePT/qiskit-ibm-provider that referenced this pull request Oct 4, 2023
* Add backend converter script from Matthew

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* FakeBackendV2, FakeQasmBeckendV2, FakeJakartaV2 in progress

* Temporary fix for circular import

* First try of implementing FakeJakartaV2 based on FakeQasmBackendV2/FakeBackendV2

* Implement FakeQasmBackend methods into FakeBackendV2

* Implement FakePulseBackend methods into FakeBackendV2

* Import missing PulseDefaults and adjust _get_conf_from_json method position

* Adjust _get_config_from_dict method position

* Fix target property

Need to take closer look at _convert_to_target method

* Fix _default_options method

* Add FakeProviderV2 for V2 fake backends

* Remove FakeQasmBackendV2 class

* Copy run method from FakeBackendV1

* change configuration to self._configuration

* Update backend_converter.py

Based on the latest version on Qiskit/qiskit-ibm-runtime#102

Co-Authored-By: Rathish Cholarajan <rathishc24@gmail.com>

* @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target

* Add dtm

* Add qubit properties

* Add drive, measure and acquire channels.

* Fix test_fake_backends

* Fix ConfigurableFakeBackend circular import problem

* Fix configurable_backend circular import problem

* FakeAlmadenV2

* FakeArmonkV2

* FakeAthensV2

* FakeBelemV2

* FakeBoeblingenV2

* Add fake backends (except rueschlikon, tenerife and tokyo)

* import fake v2 backends in __init__.py

* add fake backends to mock.backend.__init__ and fake provider

* Fix typos

* Add defs files to manila, poughkeepsie, rome and santiago

* Fix FakeCambridgeV2

* Add Hanoi and Kolkata to FakeProviderV2

* Handle no pulse backends in V2

* Fix getting qubit properties from properties bug

* Fix _parse_inst_map for BackendV2 with no pulse support

* Revert "Update backend_converter.py"

This reverts commit 2438935d218bf3e1059bef185d77c426cc0978d3.

* Revert " @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target"

This reverts commit eec4a49f590399c15a90c4579844009cc9d0dc20.

* Use dicts instead of conf, props, defs objects

* remove channels

* add type hints

* Use dict.get instead of brackets

* clean up backend_converter.py

* construct target using defs files if it exist

* Fix typo in target.acquire_alignment

* Handle BackendV2 in transpiler._parse_inst_map

* Comment out backends in fake provider and Aer run method for testing

* undo typo fix for target.acquire_alignment

* Revert "Comment out backends in fake provider and Aer run method for testing"

This reverts commit 2127b345b63e9dea1bbdbd44b397f1d14089213b.

* Copy NoiseModel.from_backend() method from Aer

* modify NoiseModel.from_backend method to support V2 backend

* Build V2 backend noise model from self._props_dict

* black reformatting

* Move V2 backend code to above V1 and Legacy

* Clean up FakeBackendV2 for testing

* Order FakeBackendV2 to match BackendV2

* Uncomment out fake backends from fake provider v1 and fake legacy provider

* Remove unused imports

* Remove FakeTokyoV2 import

* Remove warnings for missing conf, props and defs files

* Remove lazy loading of target

* Remove lazy loading of qubit properties

* Remove deprecation warning for standard_gates option in noise model

* linting for fake_backend.py

* linting for backend_converter.py

* fix `Redefining name 'warnings' from outer scope` error

* lint: rename qubit_props_dict_from_props_dict

* Raise error for pulse simulation

* remove warnings flag

* Move V2 to in front of V1

* revert changes in transpiler._parse_inst_map

The changes are now in a separate PR: Qiskit/qiskit#7765

* remove warnings flag

* fix 'no-else-raise' error

* Add docstring to FakeBackendV2

* rename `kwargs` to `options` in .run method

following BackendV2

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* rearrange raising error for pulse job

* Add a TODO comment for removing PulseDefaults

* fix typo

* black reformat

* Add release note.

* Fix no else raise error

* Add blank new line in release note

* black formatting

* fix release note missing black tick

* Rename FakeProviderV2 to FakeProviderForBackendV2

* Re-export FakeProviderForBackendV2 to qiskit.providers.fake_provider

* black reformatting

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
ElePT pushed a commit to ElePT/qiskit-ibm-provider that referenced this pull request Oct 9, 2023
* Add backend converter script from Matthew

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* FakeBackendV2, FakeQasmBeckendV2, FakeJakartaV2 in progress

* Temporary fix for circular import

* First try of implementing FakeJakartaV2 based on FakeQasmBackendV2/FakeBackendV2

* Implement FakeQasmBackend methods into FakeBackendV2

* Implement FakePulseBackend methods into FakeBackendV2

* Import missing PulseDefaults and adjust _get_conf_from_json method position

* Adjust _get_config_from_dict method position

* Fix target property

Need to take closer look at _convert_to_target method

* Fix _default_options method

* Add FakeProviderV2 for V2 fake backends

* Remove FakeQasmBackendV2 class

* Copy run method from FakeBackendV1

* change configuration to self._configuration

* Update backend_converter.py

Based on the latest version on Qiskit/qiskit-ibm-runtime#102

Co-Authored-By: Rathish Cholarajan <rathishc24@gmail.com>

* @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target

* Add dtm

* Add qubit properties

* Add drive, measure and acquire channels.

* Fix test_fake_backends

* Fix ConfigurableFakeBackend circular import problem

* Fix configurable_backend circular import problem

* FakeAlmadenV2

* FakeArmonkV2

* FakeAthensV2

* FakeBelemV2

* FakeBoeblingenV2

* Add fake backends (except rueschlikon, tenerife and tokyo)

* import fake v2 backends in __init__.py

* add fake backends to mock.backend.__init__ and fake provider

* Fix typos

* Add defs files to manila, poughkeepsie, rome and santiago

* Fix FakeCambridgeV2

* Add Hanoi and Kolkata to FakeProviderV2

* Handle no pulse backends in V2

* Fix getting qubit properties from properties bug

* Fix _parse_inst_map for BackendV2 with no pulse support

* Revert "Update backend_converter.py"

This reverts commit 2438935d218bf3e1059bef185d77c426cc0978d3.

* Revert " @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target"

This reverts commit eec4a49f590399c15a90c4579844009cc9d0dc20.

* Use dicts instead of conf, props, defs objects

* remove channels

* add type hints

* Use dict.get instead of brackets

* clean up backend_converter.py

* construct target using defs files if it exist

* Fix typo in target.acquire_alignment

* Handle BackendV2 in transpiler._parse_inst_map

* Comment out backends in fake provider and Aer run method for testing

* undo typo fix for target.acquire_alignment

* Revert "Comment out backends in fake provider and Aer run method for testing"

This reverts commit 2127b345b63e9dea1bbdbd44b397f1d14089213b.

* Copy NoiseModel.from_backend() method from Aer

* modify NoiseModel.from_backend method to support V2 backend

* Build V2 backend noise model from self._props_dict

* black reformatting

* Move V2 backend code to above V1 and Legacy

* Clean up FakeBackendV2 for testing

* Order FakeBackendV2 to match BackendV2

* Uncomment out fake backends from fake provider v1 and fake legacy provider

* Remove unused imports

* Remove FakeTokyoV2 import

* Remove warnings for missing conf, props and defs files

* Remove lazy loading of target

* Remove lazy loading of qubit properties

* Remove deprecation warning for standard_gates option in noise model

* linting for fake_backend.py

* linting for backend_converter.py

* fix `Redefining name 'warnings' from outer scope` error

* lint: rename qubit_props_dict_from_props_dict

* Raise error for pulse simulation

* remove warnings flag

* Move V2 to in front of V1

* revert changes in transpiler._parse_inst_map

The changes are now in a separate PR: Qiskit/qiskit#7765

* remove warnings flag

* fix 'no-else-raise' error

* Add docstring to FakeBackendV2

* rename `kwargs` to `options` in .run method

following BackendV2

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* rearrange raising error for pulse job

* Add a TODO comment for removing PulseDefaults

* fix typo

* black reformat

* Add release note.

* Fix no else raise error

* Add blank new line in release note

* black formatting

* fix release note missing black tick

* Rename FakeProviderV2 to FakeProviderForBackendV2

* Re-export FakeProviderForBackendV2 to qiskit.providers.fake_provider

* black reformatting

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
ElePT pushed a commit to ElePT/qiskit-ibm-runtime that referenced this pull request Oct 10, 2023
* Add backend converter script from Matthew

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* FakeBackendV2, FakeQasmBeckendV2, FakeJakartaV2 in progress

* Temporary fix for circular import

* First try of implementing FakeJakartaV2 based on FakeQasmBackendV2/FakeBackendV2

* Implement FakeQasmBackend methods into FakeBackendV2

* Implement FakePulseBackend methods into FakeBackendV2

* Import missing PulseDefaults and adjust _get_conf_from_json method position

* Adjust _get_config_from_dict method position

* Fix target property

Need to take closer look at _convert_to_target method

* Fix _default_options method

* Add FakeProviderV2 for V2 fake backends

* Remove FakeQasmBackendV2 class

* Copy run method from FakeBackendV1

* change configuration to self._configuration

* Update backend_converter.py

Based on the latest version on Qiskit#102

Co-Authored-By: Rathish Cholarajan <rathishc24@gmail.com>

* @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target

* Add dtm

* Add qubit properties

* Add drive, measure and acquire channels.

* Fix test_fake_backends

* Fix ConfigurableFakeBackend circular import problem

* Fix configurable_backend circular import problem

* FakeAlmadenV2

* FakeArmonkV2

* FakeAthensV2

* FakeBelemV2

* FakeBoeblingenV2

* Add fake backends (except rueschlikon, tenerife and tokyo)

* import fake v2 backends in __init__.py

* add fake backends to mock.backend.__init__ and fake provider

* Fix typos

* Add defs files to manila, poughkeepsie, rome and santiago

* Fix FakeCambridgeV2

* Add Hanoi and Kolkata to FakeProviderV2

* Handle no pulse backends in V2

* Fix getting qubit properties from properties bug

* Fix _parse_inst_map for BackendV2 with no pulse support

* Revert "Update backend_converter.py"

This reverts commit 2438935d218bf3e1059bef185d77c426cc0978d3.

* Revert " @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target"

This reverts commit eec4a49f590399c15a90c4579844009cc9d0dc20.

* Use dicts instead of conf, props, defs objects

* remove channels

* add type hints

* Use dict.get instead of brackets

* clean up backend_converter.py

* construct target using defs files if it exist

* Fix typo in target.acquire_alignment

* Handle BackendV2 in transpiler._parse_inst_map

* Comment out backends in fake provider and Aer run method for testing

* undo typo fix for target.acquire_alignment

* Revert "Comment out backends in fake provider and Aer run method for testing"

This reverts commit 2127b345b63e9dea1bbdbd44b397f1d14089213b.

* Copy NoiseModel.from_backend() method from Aer

* modify NoiseModel.from_backend method to support V2 backend

* Build V2 backend noise model from self._props_dict

* black reformatting

* Move V2 backend code to above V1 and Legacy

* Clean up FakeBackendV2 for testing

* Order FakeBackendV2 to match BackendV2

* Uncomment out fake backends from fake provider v1 and fake legacy provider

* Remove unused imports

* Remove FakeTokyoV2 import

* Remove warnings for missing conf, props and defs files

* Remove lazy loading of target

* Remove lazy loading of qubit properties

* Remove deprecation warning for standard_gates option in noise model

* linting for fake_backend.py

* linting for backend_converter.py

* fix `Redefining name 'warnings' from outer scope` error

* lint: rename qubit_props_dict_from_props_dict

* Raise error for pulse simulation

* remove warnings flag

* Move V2 to in front of V1

* revert changes in transpiler._parse_inst_map

The changes are now in a separate PR: Qiskit/qiskit#7765

* remove warnings flag

* fix 'no-else-raise' error

* Add docstring to FakeBackendV2

* rename `kwargs` to `options` in .run method

following BackendV2

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* rearrange raising error for pulse job

* Add a TODO comment for removing PulseDefaults

* fix typo

* black reformat

* Add release note.

* Fix no else raise error

* Add blank new line in release note

* black formatting

* fix release note missing black tick

* Rename FakeProviderV2 to FakeProviderForBackendV2

* Re-export FakeProviderForBackendV2 to qiskit.providers.fake_provider

* black reformatting

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
ElePT pushed a commit to ElePT/qiskit that referenced this pull request Oct 12, 2023
* Add backend converter script from Matthew

Co-Authored-By: Matthew Treinish <mtreinish@kortar.org>

* FakeBackendV2, FakeQasmBeckendV2, FakeJakartaV2 in progress

* Temporary fix for circular import

* First try of implementing FakeJakartaV2 based on FakeQasmBackendV2/FakeBackendV2

* Implement FakeQasmBackend methods into FakeBackendV2

* Implement FakePulseBackend methods into FakeBackendV2

* Import missing PulseDefaults and adjust _get_conf_from_json method position

* Adjust _get_config_from_dict method position

* Fix target property

Need to take closer look at _convert_to_target method

* Fix _default_options method

* Add FakeProviderV2 for V2 fake backends

* Remove FakeQasmBackendV2 class

* Copy run method from FakeBackendV1

* change configuration to self._configuration

* Update backend_converter.py

Based on the latest version on Qiskit/qiskit-ibm-runtime#102

Co-Authored-By: Rathish Cholarajan <rathishc24@gmail.com>

* @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target

* Add dtm

* Add qubit properties

* Add drive, measure and acquire channels.

* Fix test_fake_backends

* Fix ConfigurableFakeBackend circular import problem

* Fix configurable_backend circular import problem

* FakeAlmadenV2

* FakeArmonkV2

* FakeAthensV2

* FakeBelemV2

* FakeBoeblingenV2

* Add fake backends (except rueschlikon, tenerife and tokyo)

* import fake v2 backends in __init__.py

* add fake backends to mock.backend.__init__ and fake provider

* Fix typos

* Add defs files to manila, poughkeepsie, rome and santiago

* Fix FakeCambridgeV2

* Add Hanoi and Kolkata to FakeProviderV2

* Handle no pulse backends in V2

* Fix getting qubit properties from properties bug

* Fix _parse_inst_map for BackendV2 with no pulse support

* Revert "Update backend_converter.py"

This reverts commit 2438935.

* Revert " @rathishcholarajan Use BackendConfiguration, BackendProperties and PulseDefaults classes for convert_to_target"

This reverts commit eec4a49.

* Use dicts instead of conf, props, defs objects

* remove channels

* add type hints

* Use dict.get instead of brackets

* clean up backend_converter.py

* construct target using defs files if it exist

* Fix typo in target.acquire_alignment

* Handle BackendV2 in transpiler._parse_inst_map

* Comment out backends in fake provider and Aer run method for testing

* undo typo fix for target.acquire_alignment

* Revert "Comment out backends in fake provider and Aer run method for testing"

This reverts commit 2127b34.

* Copy NoiseModel.from_backend() method from Aer

* modify NoiseModel.from_backend method to support V2 backend

* Build V2 backend noise model from self._props_dict

* black reformatting

* Move V2 backend code to above V1 and Legacy

* Clean up FakeBackendV2 for testing

* Order FakeBackendV2 to match BackendV2

* Uncomment out fake backends from fake provider v1 and fake legacy provider

* Remove unused imports

* Remove FakeTokyoV2 import

* Remove warnings for missing conf, props and defs files

* Remove lazy loading of target

* Remove lazy loading of qubit properties

* Remove deprecation warning for standard_gates option in noise model

* linting for fake_backend.py

* linting for backend_converter.py

* fix `Redefining name 'warnings' from outer scope` error

* lint: rename qubit_props_dict_from_props_dict

* Raise error for pulse simulation

* remove warnings flag

* Move V2 to in front of V1

* revert changes in transpiler._parse_inst_map

The changes are now in a separate PR: Qiskit#7765

* remove warnings flag

* fix 'no-else-raise' error

* Add docstring to FakeBackendV2

* rename `kwargs` to `options` in .run method

following BackendV2

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* Update qiskit/test/mock/fake_backend.py

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>

* rearrange raising error for pulse job

* Add a TODO comment for removing PulseDefaults

* fix typo

* black reformat

* Add release note.

* Fix no else raise error

* Add blank new line in release note

* black formatting

* fix release note missing black tick

* Rename FakeProviderV2 to FakeProviderForBackendV2

* Re-export FakeProviderForBackendV2 to qiskit.providers.fake_provider

* black reformatting

Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Rathish Cholarajan <rathishc24@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: API Change Include in the Changed section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Runtime 0.1 - BackendV2
5 participants