Configurer le SDK Qiskit en local
Une fois le SDK Qiskit installé et opérationnel, tu peux effectuer quelques étapes optionnelles pour modifier 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 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
Par défaut, ce fichier se trouve dans ~/.qiskit/settings.conf, mais le chemin peut être remplacé par la variable d'environnement QISKIT_SETTINGS.
Options disponibles
circuit_drawer: Modifie le système par défaut pour le dessinateur de circuit. Il peut être défini surlatex,mpl,textoulatex_source. Lorsque le paramètre kwargoutputn'est pas explicitement défini, ce système de dessin est utilisé.circuit_mpl_style: La feuille de style par défaut utilisée pour le système de sortie mpl du dessinateur de circuit. Les valeurs valides sontdefaultoubw.circuit_mpl_style_path: Les chemins que le dessinateur de circuit utilise pour rechercher les feuilles de style JSON lorsqu'il emploie le mode de sortie mpl.state_drawer: Permet de modifier le système par défaut pour les méthodes de dessin de visualisation d'état. Les valeurs valides sontrepr,text,latex,latex_source,qsphere,hintonoubloch. Lorsque le paramètre kwargoutputn'est pas explicitement défini sur la méthode qiskit.quantum_info.DensityMatrix.draw, la méthode de sortie spécifiée est utilisée.transpile_optimization_level: Modifie le niveau d'optimisation par défaut pour qiskit.compiler.transpile. Spécifie un entier entre 0 et 3.parallel: Indique si le multiprocessing Python est activé pour les opérations qui prennent en charge l'exécution en parallèle. Par exemple, la transpilation de plusieurs objets qiskit.circuit.QuantumCircuit. Ce paramètre peut être remplacé par la variable d'environnementQISKIT_PARALLEL. Spécifie une valeur booléenne.num_processes: Le nombre maximum de processus parallèles à lancer pour les opérations parallèles si l'exécution parallèle est activée. Ce paramètre peut être remplacé par la variable d'environnementQISKIT_NUM_PROCS. Spécifie un entier supérieur à0.
remarque
- Les paramètres du dessinateur de circuit s'appliquent à qiskit.circuit.QuantumCircuit.draw et qiskit.visualization.circuit_drawer.
- Les méthodes de dessin de visualisation d'état sont qiskit.quantum_info.Statevector.draw et qiskit.quantum_info.DensityMatrix.draw.
Variables d'environnement
Définis ces variables d'environnement pour modifier le comportement par défaut de Qiskit :
QISKIT_PARALLEL: Active le multiprocessing Python pour paralléliser certaines opérations ; par exemple, la transpilation sur plusieurs circuits dans Qiskit. Spécifie une valeur booléenne.QISKIT_NUM_PROCS: Le nombre maximum de processus parallèles à lancer pour les opérations parallèles si l'exécution parallèle est activée. Spécifie un entier supérieur à zéro.RAYON_NUM_THREADS: Le nombre de threads pour exécuter les opérations multithreadées dans Qiskit. Par défaut, le code multithreadé lance un thread par CPU logique. Pour ajuster le nombre de threads utilisés par Qiskit, définis cette variable sur une valeur entière. Par exemple, définir RAYON_NUM_THREADS=4 lance quatre threads pour les fonctions multithreadées.QISKIT_FORCE_THREADS: Indique que le code multithreadé doit toujours s'exécuter avec plusieurs threads. Par défaut, si tu exécutes du code multithreadé dans une section de Qiskit qui s'exécute déjà en processus parallèles, Qiskit ne lance pas plusieurs threads mais exécute cette fonction en série. Cela permet d'éviter une surcharge potentielle des ressources CPU limitées. Cependant, si tu souhaites forcer l'utilisation de plusieurs threads même dans un contexte multiprocessus, définisQISKIT_FORCE_THREADS=TRUE.QISKIT_SABRE_ALL_THREADS: Contrôle le comportement de la passe de placement et de routage dans le gestionnaire de passes prédéfini de Qiskit. Lorsque cette variable est définie sur1ouTRUE, elle utilise tous les CPU disponibles pour exécuter plusieurs essais aléatoires. Cela peut améliorer la qualité des résultats, en particulier pour les systèmes disposant de plus de 20 CPU/cœurs ; en contrepartie, les résultats ne sont pas reproductibles lorsqu'ils sont exécutés sur du matériel local différent.
Prochaines étapes
Recommandations
- Essaie un tutoriel, par exemple l'algorithme de Grover.
- Lance le programme Hello world.
- Lis les directives de contribution si tu souhaites contribuer au SDK Qiskit open source.