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 gate error and balanced objective to BIP mapper #6778

Merged
merged 15 commits into from
Aug 3, 2021
Merged

Add gate error and balanced objective to BIP mapper #6778

merged 15 commits into from
Aug 3, 2021

Conversation

itoko
Copy link
Contributor

@itoko itoko commented Jul 21, 2021

Summary

Add gate_error and balanced objectives to the BIP mapper.

Details and comments

Previously, only the depth objective is implemented in BIPMapping pass. This commit adds the implement of gate_error and balanced objective functions, which are described in the original paper (https://arxiv.org/abs/2106.06446). Note that gate_error is referred as "error_rate" in the paper.

@@ -84,9 +84,9 @@ def __init__(
If None, all qubits in the coupling_map will be considered.
objective (str): Type of objective function:

* ``'error_rate'``: [NotImplemented] Predicted error rate of the circuit
* ``'error_rate'``: Predicted error rate of the circuit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add some description of how this "prediction" works? I think it multiplies gate errors, and thus it is only a function of circuit size but not depth. But just needs to be explicit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add more description on 'error_rate' objective at 0c24c75

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think error_rate is not a good name because a true error rate is a combination of gate errors and depth of circuit. This completely ignores depth. We should just call it size. So we have "size"/"depth"/"balanced"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree "error_rate" is not a precise name and "size" is better, but "size" still sounds like a bit misleading name to me since the objective considers 2q-gate errors (not counts). How about "2qgate_error"? I think it's the most appropriate name. Is it too long?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point. If we want to be completely accurate in naming these objective function then even depth might not be too accurate. I'll merge this for now and if we find a better name we can replace.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to "gate_error" for now.

test/python/transpiler/test_bip_mapping.py Outdated Show resolved Hide resolved
@mtreinish mtreinish added the Changelog: New Feature Include in the "Added" section of the changelog label Jul 28, 2021
ajavadia
ajavadia previously approved these changes Aug 2, 2021
@ajavadia ajavadia removed the automerge label Aug 2, 2021
@itoko itoko changed the title Add error rate and balanced objective to BIP mapper Add gate error and balanced objective to BIP mapper Aug 2, 2021
@mergify mergify bot merged commit 697d4d3 into Qiskit:main Aug 3, 2021
@itoko itoko deleted the add-error-rate-objective branch August 3, 2021 00:55
@kdk kdk added this to the 0.19 milestone Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: New Feature Include in the "Added" section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants