BasePassManager
class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)
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)
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)
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)
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)
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 executionLes 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_processesdans le fichier de configuration utilisateur et la variableQISKIT_NUM_PROCSd'environnement. Si cette option est définie sur, laNoneconfiguration 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
PropertySetpour 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'analyseTargetvous 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
to_flow_controller
to_flow_controller()
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]