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

Implement get_devices function #18

Closed
ryanhill1 opened this issue Jul 1, 2021 · 1 comment
Closed

Implement get_devices function #18

ryanhill1 opened this issue Jul 1, 2021 · 1 comment
Assignees
Labels
enhancement ✨ New feature or request

Comments

@ryanhill1
Copy link
Member

Right now, qbraid.devices of the device_layer branch contains folders assigned to each qbraid supported circuit-building package. Each circuit-building package is linked to one or more QPU and/or simulator provider(s). Eventually, we will have a get_devices function local to each circuit-building package folder so that this global get_devices function can simply call on each, but for now, it will suffice to have all the functionality contained in this one function (we can easily break it up later). The ultimate goal of this issue is to arrive at an implementation of get_devices that pulls supported device lists directly from each qbraid supported provider. The steps toward this goal are as follows:

  1. Fill in the "Available Devices" table of Device_Layer_Docs.ipynb with all of the devices and simulators accessible through braket, cirq, and qiskit (this will require some digging). There are a few listed already as examples, but with some missing information. The following links were the starting point to what exists so far: Amazon Braket supported devices, Google devices, BasicAer: Python-based Simulators.
  2. Hard-code get_devices using the completed "Available Devices" table so that we have a working version.
  3. Fill in the "Functions to get available devices" table directly underneath. This table should include any existing built-in functions that return lists or dicts of available devices or simulators. For example, qiskit has a backends function that returns a list of backends matching specified filtering. Some packages may not have any such functions, while others may have more than one.
  4. Re-implement get_devices so that it leverages any useful updates to the architecture of the devices folder e.g. divide and conquer with local/global versions as described above. Incorporate the "device getter functions" found in Step 3 wherever possible to eliminate hard-coding.
@ryanhill1 ryanhill1 added the enhancement ✨ New feature or request label Jul 1, 2021
@github-actions
Copy link

Stale issue message

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

2 participants