You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we explicitly specify the inst_map argument in transpile, this must check the provided inst map and apply pulse gate if available. In #9343 support for target argument is added to the pulse gate pass. When both target and inst_map are provided for the pass, the inst map in the target overrides user provided inst_map value.
This threw me off at first because I only started seeing this when I tested against main rather than 0.23. I think #9343 introduced this issue which is not in 0.23.
Besides the code block you referenced that shows the target always getting pulled from the backend when not provided, the other part of the code that is problematic is blocks like this:
Environment
What is happening?
When we explicitly specify the
inst_map
argument in transpile, this must check the provided inst map and apply pulse gate if available. In #9343 support fortarget
argument is added to the pulse gate pass. When bothtarget
andinst_map
are provided for the pass, the inst map in the target overrides user providedinst_map
value.However, even if we don't explicitly specify the target, this parse function implicitly set the target option and the user specified inst map is always ignored with the V2 backend.
https://github.com/Qiskit/qiskit-terra/blob/a3b359b899d5d963272a7b424c8a283bc6bd4c0d/qiskit/compiler/transpiler.py#L999-L1003
How can we reproduce the issue?
This results in
Because
What should happen?
Pulse gate should be applied to circuit with V2 backend.
Any suggestions?
No response
The text was updated successfully, but these errors were encountered: