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 noise model support for Qiskit simulators #7

Open
antalszava opened this issue Dec 18, 2020 · 0 comments
Open

Add noise model support for Qiskit simulators #7

antalszava opened this issue Dec 18, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@antalszava
Copy link
Contributor

Context
Orquestra provides the option to pass noise model and connectivity information when using Qiskit simulators (see Orquestra workflow example with a noise model).

We would like to allow this option to be available when using the orquestra.qiskit device by passing a noise_data dictionary as a keyword argument.

Required entries of the noise_data dictionary would include:

  • device_name: the IBMQ hardware device for which we'd like to obtain the noise model and connectivity data for
  • api_token: a valid IBMQ token used while extracting noise model data

For generating workflows, this would include adding a preliminary step that extracts noise model data using the {"file": "qe-qiskit/steps/noise.py", "function": "get_qiskit_noise_model"} Orquestra provided function.

Draft
The qiskit_noise_models branch contains a draft version of the described functionality:

  1. The server-side code is adjusted to parse keyword arguments for a noise model and device connectivity. These data are then used during backend creation.
  2. The client-side code is changed to allow parsing noise model data and generating workflows include a noise-model extraction step. Further improvements and changes to workflow generation are needed.

Batch execute

It is worth noting the case of workflows with parallel steps when using device.batch_execute.

When using the device.batch_execute method, a workflow with multiple parallel steps computing expectation values would be created (e.g., named expval). If a noise model is defined for the backend to be used, extracting this noise model would mean adding a single step along with batch_size many steps computing expectation values to the same workflow. Each of the expval steps would depend on the same noise model artifact of the first step. Therefore, it is worth considering if this could lead to problems with multiple steps attempting to access the same resource.

@antalszava antalszava changed the title Add noise models supported by Qiskit simulators Add noise model support for Qiskit simulators Dec 18, 2020
@antalszava antalszava added the enhancement New feature or request label Dec 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant