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

Improvements to Braket Client #45

Open
mho291 opened this issue Nov 5, 2024 · 0 comments
Open

Improvements to Braket Client #45

mho291 opened this issue Nov 5, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@mho291
Copy link
Contributor

mho291 commented Nov 5, 2024

Currently BraketClientBackend goes from qibo -> braket directly using braket_translate.py. If we cannot proceed with qibo_braket_provider for some reason(s), we may want to look into the possibility of qibo -> qasm -> qiskit -> braket conversion.

How qibo -> qasm -> qiskit -> braket conversion works:

  • To do that, implement a function, either inside this backend or outside but called inside the execute_circuit here
  • The function will build a qiskit circuit starting from the qibo generated QASM + some custom instructions through the qasm2.loads and overriding the qiskit.from_qasm
  • Finally, make use of the existing qiskit -> braket conversion layer to create the braket circuit and send it through

Some issues we face with the qasm -> qiskit conversion:

  • Qiskit uses r to represent the phase RX gate while Qibo and Braket use prx.
  • Changing qibo's PRX gate qasm representation from prx to r doesn't work -- qasm loader for qiskit doesn't recognise it because it's not in Qiskit's LEGACY_CUSTOM_INSTRUCTIONS. (See comment)
  • Adding MY_CUSTOM_INSTRUCTIONS to LEGACY_CUSTOM_INSTRUCTIONS also doesn't work. (See comment)
@mho291 mho291 added the enhancement New feature or request label Nov 5, 2024
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