Skip to main content
IBM Quantum Platform

BasePassManager

class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)

GitHub

Bases : Generic[IR], ABC

Classe de base du gestionnaire de passage.

Initialise un objet de gestion de passe vide.

Paramètres

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un forfait devant être ajouté au calendrier du gestionnaire de forfaits.
  • max_iteration (int) – Nombre maximal d'itérations de la programmation si la condition n'est pas remplie.

Méthodes

append

append(tasks)

GitHub

Ajouter des tâches au calendrier des passages.

Paramètres

tasks (Task[IR, IR] | list[Task[IR, IR]]) – Une série de tâches du gestionnaire de laissez-passer à ajouter au calendrier.

Augmentations

TypeError - Lorsqu'un élément de tasks n'est pas une sous-classe de passmanager Task.

Type de retour

Aucun

remove

remove(index)

GitHub

Supprime un passage particulier dans l'ordonnanceur.

Paramètres

index (int) – Index de passage à supprimer, basé sur la position dans passes().

Augmentations

PassManagerError – Si l'index est introuvable.

Type de retour

Aucun

replace

replace(index, tasks)

GitHub

Remplacer une passe particulière dans l'ordonnanceur.

Paramètres

  • index (int) – Indice de la tâche à remplacer, basé sur la position dans les tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Une série de tâches du gestionnaire de laissez-passer à ajouter au calendrier.

Augmentations

  • TypeError - Lorsqu'un élément de tasks n'est pas une sous-classe de passmanager Task.
  • PassManagerError – Si l'index est introuvable.

Type de retour

Aucun

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

GitHub

Effectuer toutes les passes sur le site in_programs spécifié.

Paramètres

  • in_programs (Any |list[Any]) – Entrer les programmes à transformer via tous les passages enregistrés. Un objet à entrée unique ne peut pas être un objet de liste intégré d' Python. Un objet liste est considéré comme plusieurs objets d'entrée à optimiser.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    Une fonction de rappel qui sera appelée après chaque exécution de la passe. La fonction sera appelée avec 5 arguments-clés :

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    Les arguments transmis révèlent le fonctionnement interne du gestionnaire de passes et sont susceptibles d'évoluer à mesure que ce dernier est modifié. Si vous comptez réutiliser une fonction de rappel sur plusieurs versions, assurez-vous que les arguments transmis sont identiques.

    Pour utiliser la fonction de rappel, vous définissez une fonction qui prend en charge les kwargs dict et accède aux variables. Par exemple :

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – Nombre maximal de processus parallèles à lancer si l'exécution parallèle est activée. Cet argument remplace num_processes dans le fichier de configuration utilisateur et la variable QISKIT_NUM_PROCS d'environnement. Si cette option est définie sur, la None configuration par défaut du système ou la configuration utilisateur locale sera utilisée.

  • property_set (dict[str, object] | None) – Si elle est donnée, la valeur initiale à utiliser en tant que PropertySet pour le pipeline du gestionnaire de passe. Cette fonction peut être utilisée pour conserver une analyse d'un cycle à l'autre, dans les cas où l'on sait que l'analyse peut être partagée en toute sécurité. Attention, certaines analyses seront spécifiques au circuit d'entrée et à l'élément particulier de l'analyse Targetvous devez donc faire preuve de beaucoup de prudence lorsque vous utilisez cet argument.

  • kwargs - Arguments arbitraires passés au frontend et au backend du compilateur.

Retours

Le(s) programme(s) transformé(s).

Type de retour

Tout

to_flow_controller

to_flow_controller()

GitHub

Linéariser ce gestionnaire en un seul FlowControllerLinearafin qu'il puisse être imbriqué dans un autre gestionnaire de passe.

Retours

Un gestionnaire de passes linéarisé.

Type de retour

Flow[* ControllerLinearIR*, IR]

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