Skip to main content
IBM Quantum Platform

SetIOLatency

class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)

GitHub

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)

GitHub

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

name()

GitHub

Nom du laissez-passer.

Type de retour

str

run

run(dag)

GitHub

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)

GitHub

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

PassManagerState

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.