Skip to main content
IBM Quantum Platform

Konfigurieren Sie das Qiskit SDK lokal

Nachdem das Qiskit SDK installiert und ausgeführt wurde, können Sie einige optionale Schritte durchführen, um das Standardverhalten von Qiskit zu ändern.


Benutzerkonfigurationsdatei

Der wichtigste Ort für die lokale Konfiguration von Qiskit ist die Benutzerkonfigurationsdatei. Dies ist eine Datei im.ini-Format, mit der Sie die Standardeinstellungen von Qiskit ändern können.

Beispiel:

[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

Standardmäßig befindet sich diese Datei in ~/.qiskit/settings.conf , aber der Pfad kann mit der Umgebungsvariablen QISKIT_SETTINGS überschrieben werden.


Verfügbare Optionen

  • circuit_drawer: Ändert das Standardsystem für die Schaltkreisschublade. Sie kann auf latex, mpl, text oder latex_source eingestellt werden. Wenn der Ausgang kwarg nicht ausdrücklich festgelegt ist, wird dieses Schubladensystem verwendet.
  • circuit_mpl_style: Die Standardvorlage, die für das mpl-Ausgabesystem für die Schaltkreisschublade verwendet wird. Gültige Werte sind default oder bw.
  • circuit_mpl_style_path: Die Pfade, die die Schaltkreisschublade verwenden soll, um nach JSON-Stylesheets zu suchen, wenn der mpl-Ausgabemodus verwendet wird.
  • state_drawer: Hier können Sie das Standardsystem für die Zeichenmethoden der Zustandsvisualisierung ändern. Gültige Werte sind repr, text, latex, latex_source, qsphere, hinton, oder bloch. Wenn der Ausgabe-Kwarg nicht explizit in der Methode qiskit.quantum_info.DensityMatrix.draw festgelegt ist, wird die angegebene Ausgabemethode verwendet.
  • transpile_optimization_level: Ändern Sie die Standardoptimierungsstufe für qiskit.compiler.transpile. Geben Sie eine ganze Zahl von 0-3 an.
  • parallel: Ob Python Multiprocessing für Vorgänge, die parallel ausgeführt werden können, aktiviert ist. Zum Beispiel die Transpilation von mehreren qiskit.circuit.QuantumCircuit objekten. Diese Einstellung kann durch die Umgebungsvariable QISKIT_PARALLEL außer Kraft gesetzt werden. Geben Sie einen booleschen Wert an.
  • num_processes: Die maximale Anzahl der parallelen Prozesse, die für parallele Operationen gestartet werden, wenn die parallele Ausführung aktiviert ist. Diese Einstellung kann durch die Umgebungsvariable QISKIT_NUM_PROCS außer Kraft gesetzt werden. Geben Sie eine ganze Zahl größer als 0 an.
  • min_qpy_version: Beim Laden von QPY-Dateien werden Dateien mit einer QPY-Version, die niedriger ist als die hier definierte, abgelehnt. Diese Option kann verwendet werden, um die zulässigen QPY-Versionen einzuschränken, wenn in älteren QPY-Versionen Sicherheitslücken bei der Deserialisierung entdeckt werden, wodurch das Laden potenziell schädlicher Payloads verhindert wird.
Note

Umgebungsvariablen

Setzen Sie diese Umgebungsvariablen, um das Standardverhalten von Qiskit zu ändern:

  • QISKIT_PARALLEL: Ermöglicht Python Multiprocessing zur Parallelisierung bestimmter Operationen, z. B. die Transpilierung über mehrere Schaltkreise in Qiskit. Geben Sie einen booleschen Wert an.
  • QISKIT_NUM_PROCS: Die maximale Anzahl der parallelen Prozesse, die für parallele Operationen gestartet werden, wenn die parallele Ausführung aktiviert ist. Geben Sie eine ganze Zahl größer als Null an.
  • RAYON_NUM_THREADS: Die Anzahl der Threads zur Ausführung von Multithreading-Operationen in Qiskit. Standardmäßig wird bei Multithreading-Code ein Thread für jede logische CPU gestartet. Um die Anzahl der von Qiskit verwendeten Threads anzupassen, setzen Sie dies auf einen ganzzahligen Wert. Wenn Sie zum Beispiel RAYON_NUM_THREADS=4 einstellen, werden bei Multithreading-Funktionen vier Threads gestartet.
  • QISKIT_FORCE_THREADS: Gibt an, dass Multithreading-Code immer in mehreren Threads ausgeführt werden soll. Wenn Sie Multithreading-Code in einem Abschnitt von Qiskit ausführen, der bereits in parallelen Prozessen läuft, startet Qiskit standardmäßig nicht mehrere Threads, sondern führt die Funktion seriell aus. Dies geschieht, um eine mögliche Überlastung der begrenzten CPU-Ressourcen zu vermeiden. Wenn Sie jedoch die Verwendung mehrerer Threads erzwingen wollen, auch wenn Sie sich in einem Multiprozess-Kontext befinden, setzen Sie QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Steuert das Verhalten des Layout- und Routing-Passes im voreingestellten Pass-Manager von Qiskit. Bei der Einstellung 1 oder TRUE werden alle verfügbaren CPUs für die Durchführung mehrerer Zufallsversuche verwendet. Dies kann die Qualität der Ergebnisse verbessern, insbesondere bei Systemen mit mehr als 20 CPUs/Kernen; der Nachteil ist jedoch, dass die Ergebnisse nicht reproduzierbar sind, wenn sie auf unterschiedlicher lokaler Hardware ausgeführt werden.

Nächste Schritte

Empfehlungen
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.