Zum Hauptinhalt springen

Das Qiskit SDK lokal konfigurieren

Nachdem das Qiskit SDK installiert und ausgeführt wurde, gibt es einige optionale Schritte, die du unternehmen kannst, um das Standardverhalten von Qiskit zu ändern.

Benutzerkonfigurationsdatei

Der Hauptspeicherort für die lokale Konfiguration von Qiskit ist die Benutzerkonfigurationsdatei. Dies ist eine Datei im .ini-Format, die verwendet werden kann, um Qiskit-Standardeinstellungen zu ändern.

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

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 den Schaltkreis-Zeichner. Es kann auf latex, mpl, text oder latex_source gesetzt werden. Wenn das output-Kwarg nicht explizit gesetzt ist, wird dieses Zeichnersystem verwendet.
  • circuit_mpl_style: Das Standard-Stylesheet, das für das mpl-Ausgabesystem für den Schaltkreis-Zeichner verwendet wird. Gültige Werte sind default oder bw.
  • circuit_mpl_style_path: Die Pfade, die der Schaltkreis-Zeichner verwenden soll, um nach JSON-Stylesheets zu suchen, wenn der mpl-Ausgabemodus verwendet wird.
  • state_drawer: Dies wird verwendet, um das Standardsystem für die Zustandsvisualisierungs-Zeichenmethoden zu ändern. Gültige Werte sind repr, text, latex, latex_source, qsphere, hinton oder bloch. Wenn das output-Kwarg nicht explizit auf der qiskit.quantum_info.DensityMatrix.draw-Methode gesetzt ist, wird die angegebene Ausgabemethode verwendet.
  • transpile_optimization_level: Ändert das Standard-Optimierungslevel für qiskit.compiler.transpile. Gib eine ganze Zahl 0-3 an.
  • parallel: Ob Python-Multiprocessing für Operationen aktiviert ist, die die parallele Ausführung unterstützen. Zum Beispiel die Transpilation mehrerer qiskit.circuit.QuantumCircuit-Objekte. Diese Einstellung kann durch die Umgebungsvariable QISKIT_PARALLEL überschrieben werden. Gib einen booleschen Wert an.
  • num_processes: Die maximale Anzahl paralleler Prozesse, die für parallele Operationen gestartet werden sollen, wenn die parallele Ausführung aktiviert ist. Diese Einstellung kann durch die Umgebungsvariable QISKIT_NUM_PROCS überschrieben werden. Gib eine ganze Zahl größer als 0 an.
hinweis

Umgebungsvariablen

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

  • QISKIT_PARALLEL: Aktiviert Python-Multiprocessing zur Parallelisierung bestimmter Operationen; zum Beispiel Transpilation über mehrere Schaltkreise in Qiskit. Gib einen booleschen Wert an.
  • QISKIT_NUM_PROCS: Die maximale Anzahl paralleler Prozesse, die für parallele Operationen gestartet werden sollen, wenn die parallele Ausführung aktiviert ist. Gib eine ganze Zahl größer als Null an.
  • RAYON_NUM_THREADS: Die Anzahl der Threads, die für Multithread-Operationen in Qiskit ausgeführt werden sollen. Standardmäßig startet Multithread-Code einen Thread für jede logische CPU. Um die Anzahl der Threads anzupassen, die Qiskit verwendet, setze dies auf einen ganzzahligen Wert. Zum Beispiel startet das Setzen von RAYON_NUM_THREADS=4 vier Threads für Multithread-Funktionen.
  • QISKIT_FORCE_THREADS: Gibt an, dass Multithread-Code immer in mehreren Threads ausgeführt werden soll. Standardmäßig startet Qiskit keine mehreren Threads, wenn du Multithread-Code in einem Abschnitt von Qiskit ausführst, der bereits in parallelen Prozessen läuft, sondern führt diese Funktion stattdessen seriell aus. Dies wird getan, um potenziell begrenzte CPU-Ressourcen nicht zu überlasten. Wenn du jedoch die Verwendung mehrerer Threads auch in einem Multiprozess-Kontext erzwingen möchtest, setze QISKIT_FORCE_THREADS=TRUE.
  • QISKIT_SABRE_ALL_THREADS: Steuert das Verhalten des Layout- und Routing-Passes im voreingestellten Pass-Manager von Qiskit. Wenn auf 1 oder TRUE gesetzt, verwendet dies alle verfügbaren CPUs zum Ausführen mehrerer zufälliger Versuche. Dies kann die Qualität der Ergebnisse verbessern, insbesondere für Systeme mit mehr als 20 CPUs/Kernen; der Kompromiss ist jedoch, dass die Ergebnisse nicht reproduzierbar sind, wenn sie auf unterschiedlicher lokaler Hardware ausgeführt werden.

Nächste Schritte

Empfehlungen