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 auflatex,mpl,textoderlatex_sourcegesetzt 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 sinddefaultoderbw.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 sindrepr,text,latex,latex_source,qsphere,hintonoderbloch. 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 UmgebungsvariableQISKIT_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 UmgebungsvariableQISKIT_NUM_PROCSüberschrieben werden. Gib eine ganze Zahl größer als0an.
hinweis
- Schaltkreis-Zeichner-Einstellungen gelten für qiskit.circuit.QuantumCircuit.draw und qiskit.visualization.circuit_drawer.
- Zustandsvisualisierungs-Zeichenmethoden sind qiskit.quantum_info.Statevector.draw und qiskit.quantum_info.DensityMatrix.draw.
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, setzeQISKIT_FORCE_THREADS=TRUE.QISKIT_SABRE_ALL_THREADS: Steuert das Verhalten des Layout- und Routing-Passes im voreingestellten Pass-Manager von Qiskit. Wenn auf1oderTRUEgesetzt, 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
- Probiere ein Tutorial aus, wie z.B. Grovers Algorithmus.
- Führe das Hello World-Programm aus.
- Lies die Richtlinien für Beiträge, wenn du zum Open-Source Qiskit SDK beitragen möchtest.