Skip to main content
IBM Quantum Platform

SetIOLatency

class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)

GitHub

Basen: AnalysisPass

Legen Sie die IOLatenz-Informationen für den Eingangskreis fest.

Die Seiten clbit_write_latency und conditional_latency werden in den Eigenschaftssatz des Passmanagers aufgenommen. Diese Informationen können zwischen den Pässen ausgetauscht werden, die das Scheduling für Anweisungen durchführen, die auf klassische Register wirken.

Sobald diese Latenzen dem Eigenschaftssatz hinzugefügt wurden, werden diese Informationen auch als geschützte Attribute in das Objekt der Ausgabeschaltung kopiert, so dass sie außerhalb der Transpilierung verwendet werden können, z. B. kann die Visualisierung der Zeitleiste die Latenz verwenden, um die Zeit, die die Anweisungen in den klassischen Registern beanspruchen, genau anzuzeigen.

Pass mit Latenzinformationen erstellen.

Parameter

  • clbit_write_latency – Eine Einschränkung des Kontrollflusses. Da herkömmliche supraleitende Quantenprozessoren eine dispersive QND-Auslesung verwenden, erfolgt die eigentliche Datenübertragung zum Clbit erst, nachdem das Hin- und Rücklauf-Stimulus-Signal gepuffert und in einen Quantenzustand umgewandelt wurde. Das Intervall [t0, t0 + clbit_write_latency] gilt als Leerlaufzeit für die Clbits, die mit dem Messbefehl verbunden sind. Der Standardwert ist 0 dt, was dem Qiskit-Pulse-Scheduler entspricht.
  • conditional_latency – Eine Einschränkung des Kontrollflusses. Dieser Wert gibt die Latenzzeit beim Lesen eines klassischen Registers für die bedingte Operation an. Nach dieser Verzögerungszeit erfolgt die Schaltoperation. Dies äußert sich in einer Verzögerung vor dem Gate- DAGOpNode. Der Standardwert ist 0 dt.

Attribute

is_analysis_pass

Prüfen Sie, ob der Pass ein Analysepass ist.

Wenn der Pass ein AnalysisPass, ist, bedeutet dies, dass der Pass die DAG analysieren und die Ergebnisse dieser Analyse in den Eigenschaftssatz schreiben kann. Änderungen an der DAG sind bei dieser Art von Pass nicht zulässig.

is_transformation_pass

Prüfen Sie, ob der Pass ein Transformationspass ist.

Wenn es sich bei dem Pass um TransformationPass, handelt, bedeutet dies, dass der Pass die DAG manipulieren kann, aber den Eigenschaftssatz nicht ändern kann (aber er kann gelesen werden).


Methoden

execute

execute(passmanager_ir, state, callback=None)

GitHub

Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.

Parameter

  • passmanager_ir (IR) – Qiskit IR zur Optimierung.
  • state (PassManagerState) – Status, der mit der Workflow-Ausführung durch den Passmanager selbst verbunden ist.
  • callback (Callable[[Task, IR_OUT, PropertySet, float, int], None] | None) – Eine Callback-Funktion, die bei jeder Ausführung einer Optimierungsaufgabe aufgerufen wird.

Rückgabe

Optimierte Qiskit IR und Stand des Workflows.

Rückgabetyp

Tupel [ IR_OUT, PassManagerState ]

name

name()

GitHub

Name des Passes.

Rückgabetyp

str

run

run(dag)

GitHub

Hinzufügen von Informationen zur IO-Latenzzeit.

Parameter

dag (DAGCircuit) – Eingang DAG-Schaltung.

update_status

update_status(state, run_state)

GitHub

Aktualisieren Sie den Workflow-Status.

Parameter

  • state (PassManagerState) – Übergeben Sie den Status des Managers zur Aktualisierung.
  • run_state (RunState) – Erledigungsstatus der aktuellen Aufgabe.

Rückgabe

Aktualisierter Status des Passmanagers.

Rückgabetyp

PassManagerState

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.