Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

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

DAGCircuit

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).

Was this page helpful?