qiskit
qiskit copied to clipboard
Add `scheduling_method='none'` option to disable scheduling stage
What should we add?
Similar to routing_method='none'
from #5274 , there are cases where a user might want to ensure the transpiler's scheduling stage is not invoked. While scheduling_method
is generally opt-in, there are scenarios where the transpiler will implicitly trigger or require scheduling, for example when including a Delay
instruction targeting a backend with non-unity timing_constraints
, which can complicate testing.
We should add 'none'
as a possible value for scheduling_method
, and when provided, skip the scheduling behavior from https://github.com/Qiskit/qiskit-terra/blob/b454a8dfcbe2435f1f50c754a328a91f19335299/qiskit/transpiler/preset_passmanagers/common.py#L322 .
scheduling_method='none'
should still run TimeUnitConversion(instruction_durations), condition=_contains_delay)
, and should emit a warning about not being able to check or enforce timing constraints if timing_constraints
is not all 1s.