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

Circuit based protocols use default native gate set instead of platform native gates #1075

Open
jykhoo1987 opened this issue Feb 5, 2025 · 2 comments · May be fixed by #1077
Open

Circuit based protocols use default native gate set instead of platform native gates #1075

jykhoo1987 opened this issue Feb 5, 2025 · 2 comments · May be fixed by #1077
Assignees

Comments

@jykhoo1987
Copy link

Circuit based protocols (e.g. 1 and 2 qubit rb) uses the default native gate set when calling the transpiler:

cls.CZ | cls.GPI2 | cls.I | cls.Z | cls.RZ | cls.M

When the platform has a different native gate set, these protocols cannot execute.

These protocols should allow for native gates to be declared in the qibocal runcard as a protocol parameter (such as how it is done in chevron), or use the native gates declared in the qibolab runcard instead of the above native gate set.

@Edoardo-Pedicillo Edoardo-Pedicillo self-assigned this Feb 5, 2025
@alecandido
Copy link
Member

Just to clarify the situation about Qibolab 0.1/0.2: the default hardware transpiler is making use of the platform natives since Qibo 0.2.4
https://github.com/qiboteam/qibo/blob/bbf0ccf366106a982d68f8e8881010c4c9272707/src/qibo/backends/__init__.py#L139

If used, this should solve this issue on its own.

In principle, the mechanism has been conceived to be compatible with all Qibolab releases. However, the 0.2 support has never been merged
qiboteam/qibolab#1083

Whenever needed, we (i.e. me and @stavros11) will take over that PR and complete the support. It will be a reasonable task taking a reasonable amount of time :)

@Edoardo-Pedicillo
Copy link
Contributor

At the time being, Qibocal is not using the default transpiler, because we wanted to be detached from the latest transpiler refactoring. So the issue is internal to the Qibocal library.

unroller = Unroller(NativeGates.default())

In the future we can consider the idea of using the default hardware transpiler, but at the moment I will open a PR with a patch for this problem.

@Edoardo-Pedicillo Edoardo-Pedicillo linked a pull request Feb 11, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants