Configuration locale¶
Une fois que vous avez installé Qiskit et qu’il fonctionne, il y a quelques étapes optionnelles de configuration que vous pouvez effectuer pour modifier le comportement par défaut de Qiskit afin de l’adapter à votre profil d’utilisation spécifique.
Fichier de configuration utilisateur¶
L’emplacement principal de la configuration locale de Qiskit est le fichier de configuration de l’utilisateur. Il s’agit d’un fichier de format ini <https://en.wikipedia.org/wiki/INI_file> __ qui peut être utilisé pour modifier les valeurs par défaut de Qiskit.
Par 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 réside dans ~/.qiskit/settings.conf
mais le chemin utilisé peut être remplacé en utilisant la variable d’environnement QISKIT_SETTINGS
. Si QISKIT_SETTINGS
est défini, sa valeur sera utilisée comme chemin d’accès au fichier de configuration de l’utilisateur.
Options disponibles :
circuit_drawer
: Ceci est utilisé pour modifier le système par défaut pour le dessin des circuitsqiskit.circuit.QuantumCircuit.draw()
etqiskit.visualization.circuit_drawer()
. Il peut être défini surlatex
,mpl
,text
oulatex_source
et lorsque l’argument de mot clefouptut
n’est pas explicitement défini ce style de dessin sera utilisé.
circuit_mpl_style
: Il s’agit du style par défaut utilisé pour la sortie de typempl
pour le dessin de circuitqiskit.circuit.QuantumCircuit.draw()
etqiskit.visualization.circuit_drawer()
. Il peut être défini surdefault
oubw
.
circuit_mpl_style_path
: Ceci peut être utilisé pour définir le(s) chemin(s) où le visualiseur de circuits,qiskit.circuit.QuantumCircuit.draw()
ouqiskit.visualization.circuit_drawer()
, ira chercher des feuilles de style au format json lorsque le mode de sortiempl
est utilisé.
state_drawer
: Ceci est utilisé pour changer le backend par défaut pour les méthodes de visualisation d’état quantiqueqiskit.quantum_info.Statevector.draw()
etqiskit.quantum_info.DensityMatrix.draw()
. Il peut être défini àrepr
,text
,latex
,latex_source
,qsphere
,hinton
, oubloch
et quand l’argumentoutput
n’est pas explicitement défini surdraw()
, la méthode de sortie choisie sera utilisée.
transpile_optimization_level
: admet une valeur entière comprise entre 0 et 3 et est utilisé pour modifier le niveau d’optimisation par défaut pourtranspile()
etexecute()
.
parallel
: Cette option prend une valeur booléenne (soitTrue
soitFalse
) et est utilisée pour configurer si Python multiprocessing est activé pour les opérations qui prennent en charge l’exécution en parallèle (par exemple la transpilation de plusieurs instances deQuantumCircuit
). Le paramètre par défaut dans le fichier de configuration de l’utilisateur peut être remplacé par la variable d’environnementQISKIT_PARALLEL
.
num_processes
: Cette option prend une valeur entière (> 0) qui est utilisée pour spécifier le nombre maximum de processus parallèles à lancer pour les opérations parallèles si l’exécution parallèle est activée. La configuration par défaut dans le fichier de configuration de l’utilisateur peut être remplacée par la variable d’environnementQISKIT_NUM_PROCS
.
Variables d’environnement¶
Il y a aussi quelques variables d’environnement qui peuvent être définies pour modifier le comportement par défaut de Qiskit.
QISKIT_PARALLEL
: si cette variable est définie àTRUE
, elle activera l’utilisation de Python multiprocessing pour paralléliser certaines opérations (par exemple la transpilation sur plusieurs circuits) dans Qiskit Terra.
QISKIT_NUM_PROCS
: Spécifie le nombre maximum de processus parallèles à lancer pour les opérations parallèles si l’exécution parallèle est activée. Prend un entier > 0 comme valeur attendue.` ` RAYON_NUM_THREADS ` : Indique le nombre d’unités d’exécution pour exécuter des opérations multiprocessus dans Qiskit Terra. Par défaut, ce code à unités d’exécution multiples lance une unité d’exécution pour chaque unité centrale logique, si vous souhaitez ajuster le nombre d’unités d’exécution Qiskit, vous pouvez définir cette valeur à un entier. Par exemple, le paramètre ``RAYON_NUM_THREADS=4` ne lance que 4 unités d’exécution pour les fonctions à unités d’exécution multiples.
QISKIT_FORCE_THREADS `` : Indique que le code à unités d'exécution multiples doit toujours être exécuté dans plusieurs unités d'exécution. Par défaut, si vous exécutez du code à unités d'exécution multiples dans une section de Qiskit qui est déjà en cours d'exécution dans des processus parallèles, Qiskit ne lancera pas plusieurs unités d'exécution et exécutera cette fonction en série. Cela permet d'éviter de surcharger les ressources CPU limitées. Toutefois, si vous souhaitez forcer l'utilisation de plusieurs unités d'exécution, même si dans un contexte multiprocessus, vous pouvez définir ``QISKIT_FORCE_THREADS = TRUE
pour le faire.
QISKIT_IBMQ_PROVIDER_LOG_LEVEL
: Spécifie le niveau de log (journalisation) à utiliser pour les modulesqiskit-ibmq-provider
. Si un niveau invalide est défini, le niveau de log par défaut est WARNING. Les niveaux de log valides sontDEBUG
,INFO
,WARNING
,ERROR
etCRITICAL
(insensible à la casse). Si la variable d’environnement n’est pas définie, alors le niveau du logger parent est utilisé, qui vaut aussiWARNING
.
QISKIT_IBMQ_PROVIDER_LOG_FILE
: spécifie le nom du fichier journal à utiliser à partir des messages de log provenant deqiskit-ibmq-provider
. Si ce nom est spécifié alors les messages seront enregistrés dans le fichier correspondant. Sinon, les messages seront envoyés vers le fichier d’erreur standard (généralement l’écran).
QISKIT_AQUA_MAX_GATES_PER_JOB
: un paramètre optionnel pour définir un seuil pour séparer les circuits générés par Aqua en plusieurs tâches soumises à un backend en fonction du nombre de portes.