SetIOLatency
class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)
Basi: AnalysisPass
Impostare le informazioni di IOLatency sul circuito di ingresso.
Le proprietà clbit_write_latency e conditional_latency vengono aggiunte all'insieme di proprietà di pass manager. Queste informazioni possono essere condivise tra i passaggi che eseguono lo scheduling delle istruzioni che agiscono sui registri classici.
Una volta aggiunte le latenze al set di proprietà, queste informazioni vengono copiate anche nell'oggetto circuito di uscita come attributi protetti, in modo da poter essere utilizzate al di fuori della transpilazione; ad esempio, la visualizzazione della timeline può utilizzare la latenza per mostrare con precisione il tempo occupato dalle istruzioni sui registri classici.
Creare un passaggio con informazioni sulla latenza.
Parametri
- clbit_write_latency – Un vincolo di flusso di controllo. Poiché i processori quantistici superconduttori standard utilizzano una lettura QND dispersiva, il trasferimento effettivo dei dati al clbit avviene dopo che il segnale di stimolo, una volta completato il ciclo di andata e ritorno, è stato memorizzato temporaneamente e convertito nello stato quantistico. L'intervallo
[t0, t0 + clbit_write_latency]è considerato come tempo di inattività per i clbit associati all'istruzione di misura. Il valore predefinito è 0 dt, identico a quello dello scheduler di Qiskit Pulse. - conditional_latency – Un vincolo relativo al flusso di controllo. Questo valore rappresenta la latenza della lettura di un registro classico per l'operazione condizionale. L'azionamento del cancello avviene dopo questo intervallo di tempo. Ciò si traduce in un ritardo davanti all' DAGOpNode e del cancello. Il valore predefinito è 0 dt.
Attributi
is_analysis_pass
Controlla se il passaggio è un passaggio di analisi.
Se il passo è un AnalysisPass,, significa che il passo può analizzare il DAG e scrivere i risultati di tale analisi nel set di proprietà. Questo tipo di passaggio non consente di modificare il DAG.
is_transformation_pass
Controlla se il passaggio è un passaggio di trasformazione.
Se il passaggio è un TransformationPass,, significa che il passaggio può manipolare il DAG, ma non può modificare il set di proprietà (ma può essere letto).
Metodi
execute
execute(passmanager_ir, state, callback=None)
Eseguire l'attività di ottimizzazione per l'IR Qiskit in ingresso.
Parametri
- passmanager_ir (IR) – Qiskit IR da ottimizzare.
- state (PassManagerState) – Stato associato all'esecuzione del flusso di lavoro da parte del gestore del passaggio stesso.
- callback (Callable[[Task, IR_OUT, PropertySet, float, int], None] | None) – Una funzione di callback che viene chiamata ad ogni esecuzione di un'attività di ottimizzazione.
Risultati
Qiskit IR ottimizzato e stato del flusso di lavoro.
Tipo di restituzione
tupla [ IR_OUT, PassManagerState ]
name
run
run(dag)
Aggiungere informazioni sulla latenza dell'IO.
Parametri
dag (DAGCircuit) – Circuito DAG di ingresso.
update_status
update_status(state, run_state)
Aggiornare lo stato del flusso di lavoro.
Parametri
- state (PassManagerState) – Passare lo stato del gestore da aggiornare.
- run_state (RunState) – Stato di completamento dell'attività corrente.
Risultati
Stato aggiornato del gestore dei passaggi.
Tipo di restituzione