SetIOLatency
class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)
Bases: AnalysisPass
Establece la información de IOLatency en el circuito de entrada.
clbit_write_latency y conditional_latency se añaden al conjunto de propiedades del gestor de pases. Esta información puede compartirse entre los pases que realizan la programación de las instrucciones que actúan sobre los registros clásicos.
Una vez que estas latencias se añaden al conjunto de propiedades, esta información también se copia en el objeto circuito de salida como atributos protegidos, de modo que se pueda utilizar fuera de la transpilación, por ejemplo, la visualización de la línea de tiempo puede utilizar la latencia para mostrar con precisión la ocupación del tiempo por las instrucciones en los registros clásicos.
Crear pase con información de latencia.
Parámetros
- clbit_write_latency – Una restricción del flujo de control. Dado que los procesadores cuánticos superconductores estándar utilizan la lectura QND dispersiva, la transferencia efectiva de datos al clbit tiene lugar después de que la señal de estímulo de ida y vuelta se haya almacenado en el búfer y se haya discriminado en un estado cuántico. El intervalo
[t0, t0 + clbit_write_latency]se considera tiempo de inactividad para los clbits asociados a la instrucción de medición. El valor predeterminado es 0 dt, lo cual es idéntico al programador de Qiskit Pulse. - conditional_latency – Una restricción del flujo de control. Este valor representa la latencia de la lectura de un registro clásico para la operación condicional. La operación de la compuerta se produce tras este tiempo de latencia. Esto se traduce en un retraso en la zona de control de seguridad ( DAGOpNode ) de la puerta de embarque. El valor predeterminado es 0 dt.
Atributos
is_analysis_pass
Comprueba si el pase es un pase de análisis.
Si el pase es un AnalysisPass, significa que el pase puede analizar el DAG y escribir los resultados de ese análisis en el conjunto de propiedades. Este tipo de paso no permite realizar modificaciones en el DAG.
is_transformation_pass
Comprueba si el pase es un pase de transformación.
Si el pase es un TransformationPass, significa que el pase puede manipular el DAG, pero no puede modificar el conjunto de propiedades (pero se puede leer).
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 ]
name
run
run(dag)
Añade información sobre la latencia IO.
Parámetros
dag (DAGCircuit) – Circuito DAG de entrada.
update_status
update_status(state, run_state)
Actualizar el estado del flujo de trabajo.
Parámetros
- state (PassManagerState) – Pasar estado de gestor a actualizar.
- run_state (RunState) – Estado de finalización de la tarea actual.
Devuelve
Estado del gestor de pases actualizado.
Tipo de retorno