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

Make AerSimulator own backend target object #2116

Open
doichanj opened this issue May 1, 2024 · 4 comments
Open

Make AerSimulator own backend target object #2116

doichanj opened this issue May 1, 2024 · 4 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@doichanj
Copy link
Collaborator

doichanj commented May 1, 2024

What is the expected behavior?

From Qiskit 1.0, quantum computer backend goes to BackendV2 (https://docs.quantum.ibm.com/api/qiskit/qiskit.providers.BackendV2) that has target object containing information of basis gates, coupling map, instruction properties (gate name, qubits, durations, gate error rates, etc). These properties are used for transpilation.
Currently Aer returns AerSimulator's target by using convert_to_target function (https://docs.quantum.ibm.com/api/qiskit/qiskit.providers.convert_to_target), but this target does not contain enough backend properties.
I think simulator backend should return these properties:

  • coupling map with all-to-all qubits connectivity for given max number of qubits (MPS should return its connectivity ?)
  • proper basis gates for each simulation method
  • there is no error or error rates set from noise model (?)

One difficult thing to make target is most of users are initializing AerSimulator without parameters and we can not know number of qubits and simulation method at initialization.

Aer's backend is consist of 2 classes, AerBackend (https://github.com/Qiskit/qiskit-aer/blob/main/qiskit_aer/backends/aerbackend.py) is based on BackendV2 that should return proper target and properties objects and AerSinulator (https://github.com/Qiskit/qiskit-aer/blob/main/qiskit_aer/backends/aer_simulator.py) is simulation interface to users.

@doichanj doichanj added enhancement New feature or request good first issue Good for newcomers labels May 1, 2024
@ljcamargo
Copy link

Hi @doichanj so, is the goal here to create a totally new Target object just for Aer with this coupling maps, etc..? or just a new function such as "convert_to_enriched_target" to improve instatiation from BackendV1 with new new data. If a new Target class is needed I guess it should be sublclass of Target. Thanks

@doichanj
Copy link
Collaborator Author

doichanj commented Jun 5, 2024

I believe there is not large issue by using default target made from convert_to_target
So I think it is OK to study or evaluate if there is critical issues by using default target, or if there are good applications if there are customized targets specified for the simulator

@ljcamargo
Copy link

hi @doichanj I making progress in this, but I wonder if you have a test case for this because I'm not sure if the current tests or what I have tested so far cover everything. Thanks

@doichanj
Copy link
Collaborator Author

It is helpful for us if you can make good test cases

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants