This repository has been archived by the owner on Jul 24, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 69
Add translation stage to IBM backend and update DD to use #483
Merged
taalexander
merged 11 commits into
Qiskit:main
from
taalexander:taa-add-get-translation-stage
Feb 9, 2023
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
d3bfe64
Add plugin transformation pass to the ibm backend.
taalexander ad5668c
Add plugin based tests.
taalexander 62ff4b8
Linting.
taalexander 8fdaad4
update documentation to use the transpiler plugin.
taalexander bb9b60c
Fix lambda patch.
taalexander 1a7dd1a
Fix bug in circuit docs.
taalexander 895284d
Remove duplicate method after rebasing.
taalexander af2626a
Add plugin transformation pass to the ibm backend.
taalexander 0ab3f8c
Remove duplicate method after rebasing.
taalexander ba12eb2
Update qiskit_ibm_provider/transpiler/passes/scheduling/__init__.py
taalexander f8598ca
Fix docs typos.
taalexander File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
releasenotes/notes/add-translation-stage-plugin-to-backend-ed753e4323137d1c.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
upgrade: | ||
- | | ||
The :class:`qiskit_ibm_provider.ibm_backend.IBMBackend` now returns the | ||
``ibm_dynamic_circuits`` translation stage as its plugin | ||
translation stage. This will automatically add custom | ||
transformations when calling the transpiler that are tuned | ||
for IBM quantum hardware. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think doing this might cause problems for users who are using
c_if
butdynamic=False
- the new plugin will convert the operations at optimisation levels 0 and 1, but then I think the job will fail went sent off to the next step in the pipeline?I'm actually not sure what the solution is here, since
dynamic=True
anddynamic=False
are handled by the sameIBMBackend
instance. We don't know if the user intends to setdynamic=True
untilBackend.run
is called soget_translation_stage_plugin
can't know it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nobody can use
c_if
withdynamic=False
AFAIK? The only other solution would be to set a different type of backend that is returned to the user from the provider?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can they not? I thought the old paths had some amount of support for it for like conditional resets? You'd know better than me - if
c_if
wouldn't have worked before, then I don't think there's any issue with this change.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yah, the old path doesn't support this (outside of simulators I suppose, in which case the simulators support the conversion regardless). The old path does support resets/MCM but these are unaffected.