BaseController
class qiskit.passmanager.BaseController(options=None)
Bases: Task, ABC
Clase base del controlador.
Un controlador se construye con una colección de tareas del gestor de pases, y una subclase proporciona una lógica personalizada para elegir la siguiente tarea a ejecutar. Ten en cuenta que un controlador puede anidarse dentro de otro controlador, y que un controlador en sí mismo no proporciona ninguna subrutina para modificar la IR de entrada.
Crear nuevo controlador de flujo.
Parámetros
options (dict[str, Any] | None) – Opción para este regulador de caudal.
Métodos
execute
execute(passmanager_ir, state, callback=None)
Ejecutar la tarea de optimización para la entrada Qiskit IR.
Parámetros
- passmanager_ir (Any) – Qiskit IR para optimizar.
- state (PassManagerState) – Estado asociado a la ejecución del flujo de trabajo por el propio gestor de pases.
- callback (Callable | None) – Una función de devolución de llamada que se invoca cada vez que se ejecuta una tarea de optimización.
Devuelve
Qiskit IR optimizado y estado del flujo de trabajo.
Tipo de retorno
tupla [ Any, PassManagerState ]
iter_tasks
abstractmethod iter_tasks(state)
Una lógica personalizada para elegir la siguiente tarea a ejecutar.
La subclase de controlador puede consumir el estado para construir un canal de tareas adecuado. El estado actualizado tras la ejecución de una tarea se devolverá como valor de "retorno" de cualquier sentencia yield . Esto indica que el orden de ejecución de las tareas sólo se determina en tiempo de ejecución. Este método no puede mutar el objeto de estado dado.
Parámetros
- state (PassManagerState) – El estado del flujo de trabajo passmanager al comienzo de la ejecución de este controlador de flujo.
- estado - el estado del gestor de pases tras la ejecución de la última tarea cedida. El generador no necesita inspeccionarlo si es irrelevante para su lógica, ni actualizarlo.
Cesiones
Tarea - Siguiente tarea a ejecutar.
Tipo de retorno
Generador* [Task*, PassManagerState, None]