Pulse align_measures implicitly assumes u3 gate.
See original GitHub issueWhat is the current behavior?
align_measures function can take arbitrary cal_gate to decide minimum alignment time, but actually we can only take u3 due to its implementation.
This is nested function to get the gate duration of input cal_gate. As you can see this tries to bind three parameters to generate a schedule of x gate with u3 instruction.
If we specify x in cal_gate, this binds three parameters though x instruction has no parameter.
Steps to reproduce the problem
What is the expected behavior?
This time should be a required duration to generate |1> and |0> state. However this seems to be requirements from our backend and should not be here because Qiskit is backend agnostic. This measurement discriminator cal should be handled by backend and we should be able to remove this from frontend. l think user cannot understand why this minimum duration requirement is here.
Suggested solutions
I think I have two approaches:
-
Keep minimum duration and update schedule generation: Add
cal_gate_parameters: List[float]to function argument. We need to check parameter number matching with specified instruction. But we can also removeinstmapandcal_gatefrom argument to simplify the interface. -
Remove minimum duration requirements: User can set arbitrary acquisition time here and the backend should realign acquisition time if they need to insert measurement cal.
Issue Analytics
- State:
- Created 3 years ago
- Comments:14 (11 by maintainers)

Top Related StackOverflow Question
@kdk Hi! Sorry, life’s gotten in the way. Please feel free to take over or assign this to someone else.
Can I take this up? I’m quite new but would love to contribute and would appreciate some pointers.