Skip to main content
IBM Quantum Platform

Configurer le SDK Qiskit localement

Une fois que le SDK Qiskit est installé et fonctionne, il y a quelques étapes optionnelles que vous pouvez prendre pour changer le comportement par défaut de Qiskit.


Fichier de configuration utilisateur

L'emplacement principal pour la configuration locale de Qiskit est le fichier de configuration de l'utilisateur. Il s'agit d'un fichier au format.ini qui peut être utilisé pour modifier les paramètres par défaut de Qiskit.

Exemple :

[default]
circuit_drawer = mpl
circuit_mpl_style = default
circuit_mpl_style_path = ~:~/.qiskit
state_drawer = hinton
transpile_optimization_level = 3
parallel = False
num_processes = 15
min_qpy_version = 14

Par défaut, ce fichier se trouve dans ~/.qiskit/settings.conf , mais le chemin d'accès peut être modifié à l'aide de la variable d'environnement QISKIT_SETTINGS .


Options disponibles

  • circuit_drawer: Modifie le système par défaut du tiroir de circuit. Il peut être défini sur latex, mpl, text, ou latex_source. Lorsque le kwarg de sortie n'est pas explicitement défini, ce système de tiroirs est utilisé.
  • circuit_mpl_style: La feuille de style par défaut utilisée pour le système de sortie mpl du dessinateur de circuits. Les valeurs valables sont default ou bw.
  • circuit_mpl_style_path: Les chemins à utiliser par le tiroir du circuit pour rechercher les feuilles de style JSON lors de l'utilisation du mode de sortie mpl.
  • state_drawer: Cette option permet de modifier le système par défaut pour les méthodes de dessin de la visualisation d'état. Les valeurs valables sont repr, text, latex, latex_source, qsphere, hinton, ou bloch. Lorsque le kwarg de sortie n'est pas explicitement défini dans la méthode qiskit.quantum_info.DensityMatrix.draw, la méthode de sortie spécifiée est utilisée.
  • transpile_optimization_level: Modifier le niveau d'optimisation par défaut pour qiskit.compiler.transpile. Spécifiez un nombre entier de 0 à 3.
  • parallel: Si Python multiprocessing est activé pour les opérations qui peuvent être exécutées en parallèle. Par exemple, la transpilation de plusieurs qiskit.circuit.QuantumCircuit objets. Ce paramètre peut être remplacé par la variable d'environnement QISKIT_PARALLEL . Spécifier une valeur booléenne.
  • num_processes: Nombre maximal de processus parallèles à lancer pour des opérations parallèles si l'exécution parallèle est activée. Ce paramètre peut être remplacé par la variable d'environnement QISKIT_NUM_PROCS . Spécifiez un nombre entier supérieur à 0.
  • min_qpy_version: Lors du chargement des fichiers QPY, ceux dont la version est inférieure à celle définie ici seront rejetés. Cette option permet de limiter les versions autorisées de QPY lorsque des failles de sécurité liées à la désérialisation sont découvertes dans des versions antérieures de QPY, empêchant ainsi le chargement de charges utiles potentiellement malveillantes.
Note

Variables d'environnement

Définissez ces variables d'environnement pour modifier le comportement par défaut de Qiskit :

  • QISKIT_PARALLEL: Permet à Python multiprocessing de paralléliser certaines opérations; par exemple, la transpilation sur plusieurs circuits dans Qiskit. Spécifier une valeur booléenne.
  • QISKIT_NUM_PROCS: Nombre maximal de processus parallèles à lancer pour des opérations parallèles si l'exécution parallèle est activée. Spécifier un nombre entier supérieur à zéro.
  • RAYON_NUM_THREADS: Le nombre de threads pour exécuter des opérations multithreads dans Qiskit. Par défaut, le code multithread lance un thread pour chaque unité centrale logique. Pour ajuster le nombre de threads utilisés par Qiskit, définissez une valeur entière. Par exemple, l'option RAYON_NUM_THREADS=4 permet de lancer quatre threads pour les fonctions multithreads.
  • QISKIT_FORCE_THREADS: Spécifie que le code multithread doit toujours être exécuté dans plusieurs threads. Par défaut, si vous exécutez un code multithread dans une section de Qiskit qui s'exécute déjà dans des processus parallèles, Qiskit ne lance pas plusieurs threads mais exécute cette fonction en série. Cela permet d'éviter de surcharger les ressources limitées de l'unité centrale. Cependant, si vous voulez forcer l'utilisation de plusieurs threads même dans un contexte multiprocessus, définissez QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Contrôle le comportement de la passe de mise en page et de routage dans le gestionnaire de passes prédéfinies de Qiskit. Lorsqu'elle est définie sur 1 ou TRUE, cette fonction utilise toutes les unités centrales disponibles pour effectuer plusieurs essais aléatoires. Cela peut améliorer la qualité des résultats, en particulier pour les systèmes dotés de plus de 20 CPU/cores; la contrepartie, cependant, est que les résultats ne sont pas reproductibles lorsqu'ils sont exécutés sur du matériel local différent.

Etapes suivantes

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