ASAPSchedule
ASAPSchedule(*args, **kwargs)
GitHub(opens in a new tab)
Bases: qiskit.transpiler.basepasses.TransformationPass
ASAP Scheduling pass, which schedules the start time of instructions as early as possible..
For circuits with instructions writing or reading clbits (e.g. measurements, conditional gates), the scheduler assumes clbits I/O operations take no time, measure
locks clbits to be written at its end and c_if
locks clbits to be read at its beginning.
Notes
The ASAP scheduler may not schedule a circuit exactly the same as any real backend does when the circuit contains control flows (e.g. conditional instructions).
ASAPSchedule initializer.
Parameters
durations (InstructionDurations) – Durations of instructions to be used in scheduling
Methods
name
ASAPSchedule.name()
Return the name of the pass.
run
ASAPSchedule.run(dag)
Run the ASAPSchedule pass on dag.
Parameters
dag (DAGCircuit) – DAG to schedule.
Returns
A scheduled DAG.
Return type
Raises
TranspilerError – if the circuit is not mapped on physical qubits.
Attributes
is_analysis_pass
Check if the pass is an analysis pass.
If the pass is an AnalysisPass, that means that the pass can analyze the DAG and write the results of that analysis in the property set. Modifications on the DAG are not allowed by this kind of pass.
is_transformation_pass
Check if the pass is a transformation pass.
If the pass is a TransformationPass, that means that the pass can manipulate the DAG, but cannot modify the property set (but it can be read).