SetIOLatency
class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)
Bases : AnalysisPass
Définir l'information IOLatency pour le circuit d'entrée.
Les adresses clbit_write_latency et conditional_latency sont ajoutées à l'ensemble des propriétés du gestionnaire de passe. Ces informations peuvent être partagées entre les passes qui réalisent l'ordonnancement des instructions agissant sur les registres classiques.
Une fois que ces latences sont ajoutées à l'ensemble de propriétés, ces informations sont également copiées dans l'objet circuit de sortie en tant qu'attributs protégés, afin qu'elles puissent être utilisées en dehors de la transpilation. Par exemple, la visualisation de la chronologie peut utiliser la latence pour montrer avec précision le temps occupé par les instructions sur les registres classiques.
Créer un laissez-passer avec des informations sur la latence.
Paramètres
- clbit_write_latency – Une contrainte de flux de contrôle. Étant donné que les processeurs quantiques supraconducteurs standard utilisent une lecture QND dispersive, le transfert effectif des données vers le clbit a lieu après que le signal de stimulation aller-retour a été mis en mémoire tampon et converti en état quantique. Cet intervalle
[t0, t0 + clbit_write_latency]est considéré comme un temps d'inactivité pour les clbits associés à l'instruction de mesure. La valeur par défaut est 0 dt, ce qui correspond à celle du planificateur Pulse de Qiskit. - conditional_latency – Une contrainte de flux de contrôle. Cette valeur correspond au temps d'accès à un registre classique pour l'opération conditionnelle. L'actionnement de la barrière a lieu après ce délai. Cela se traduit par un retard au niveau de l' DAGOpNode e de la barrière. La valeur par défaut est 0 dt.
Attributs
is_analysis_pass
Vérifier si la passe est une passe d'analyse.
Si le passe est un AnalysisPass,, cela signifie qu'il peut analyser le DAG et écrire les résultats de cette analyse dans l'ensemble de propriétés. Les modifications sur le DAG ne sont pas autorisées par ce type de passe.
is_transformation_pass
Vérifier si le laissez-passer est un laissez-passer de transformation.
Si la passe est une TransformationPass,, cela signifie qu'elle peut manipuler le DAG, mais qu'elle ne peut pas modifier l'ensemble des propriétés (mais qu'elle peut les lire).
Méthodes
execute
execute(passmanager_ir, state, callback=None)
Exécuter la tâche d'optimisation pour l'entrée Qiskit IR.
Paramètres
- passmanager_ir (IR) – IR Qiskit à optimiser.
- state (PassManagerState) – État associé à l'exécution du flux de travail par le gestionnaire de passe lui-même.
- callback (Callable[[Task, IR_OUT, PropertySet, float, int], None] | None) – Une fonction de rappel qui est appelée à chaque exécution d'une tâche d'optimisation.
Retours
Qiskit IR optimisé et état du flux de travail.
Type de retour
tuple [ IR_OUT, PassManagerState ]
name
run
run(dag)
Ajouter des informations sur la latence des entrées-sorties.
Paramètres
dag (DAGCircuit) – Circuit d'entrée DAG.
update_status
update_status(state, run_state)
Mettre à jour le statut du flux de travail.
Paramètres
- state (PassManagerState) – Transmettre l'état du gestionnaire à mettre à jour.
- run_state (RunState) – Statut d'achèvement de la tâche en cours.
Retours
Mise à jour de l'état du gestionnaire de passe.
Type de retour