BaseController
class qiskit.passmanager.BaseController(options=None)
Basisklasse des Controllers.
Ein Controller wird mit einer Sammlung von Pass-Manager-Aufgaben erstellt, und eine Unterklasse bietet eine benutzerdefinierte Logik zur Auswahl der nächsten Aufgabe, die ausgeführt werden soll. Beachten Sie, dass ein Controller in einen anderen Controller verschachtelt werden kann, und dass ein Controller selbst keine Unterroutine zur Änderung der Eingangs-IR bereitstellt.
Erstellen Sie einen neuen Flow Controller.
Parameter
options (dict[str, Any] | None) – Option für diesen Durchflussregler.
Methoden
execute
execute(passmanager_ir, state, callback=None)
Ausführen der Optimierungsaufgabe für die Eingabe Qiskit IR.
Parameter
- passmanager_ir (IR) – Qiskit IR zur Optimierung.
- state (PassManagerState) – Status, der mit der Ausführung des Workflows durch den Passmanager selbst verbunden ist.
- callback (Callable | None) – Eine Callback-Funktion, die bei jeder Ausführung der Optimierungsaufgabe aufgerufen wird.
Rückgabe
Optimierte Qiskit IR und Stand des Workflows.
Rückgabetyp
Tupel [ IR_OUT, PassManagerState ]
iter_tasks
abstractmethod iter_tasks(state)
Eine benutzerdefinierte Logik zur Auswahl der nächsten auszuführenden Aufgabe.
Die Controller-Unterklasse kann den Zustand nutzen, um eine geeignete Task-Pipeline aufzubauen. Der aktualisierte Zustand nach der Ausführung einer Aufgabe wird als "Rückgabewert" aller yield Anweisungen zurückgegeben. Dies bedeutet, dass die Reihenfolge der Aufgabenausführung erst zur Laufzeit festgelegt wird. Diese Methode darf das angegebene Zustandsobjekt nicht verändern.
Parameter
- state (PassManagerState) – Der Zustand des Passmanager-Workflows zu Beginn der Ausführung dieses Ablaufsteuerers.
- state - der Zustand des Pass Managers nach der Ausführung der letzten Aufgabe, die abgegeben wurde. Der Generator braucht dies nicht zu prüfen, wenn es für seine Logik irrelevant ist, und es auch nicht zu aktualisieren.
Ergiebigkeit
Aufgabe - Nächste auszuführende Aufgabe.
Rückgabetyp
Generator [ Task [ Any, Any ], PassManagerState, None]