Configurează Qiskit SDK local
După ce Qiskit SDK este instalat și rulează, există câțiva pași opționali pe care îi poți face pentru a schimba comportamentul implicit al Qiskit.
Fișierul de configurare al utilizatorului
Locul principal pentru configurarea locală a Qiskit este fișierul de configurare al utilizatorului. Acesta este un fișier în format .ini care poate fi folosit pentru a modifica setările implicite ale Qiskit.
Exemplu:
[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
În mod implicit, acest fișier se află la ~/.qiskit/settings.conf, dar calea poate fi suprascrisă cu variabila de mediu QISKIT_SETTINGS.
Opțiuni disponibile
circuit_drawer: Schimbă sistemul implicit pentru Circuit drawer. Poate fi setat lalatex,mpl,textsaulatex_source. Când kwarg-ul output nu este setat explicit, este folosit acest sistem de desenare.circuit_mpl_style: Foaia de stil implicită folosită pentru sistemul de ieșire mpl al Circuit drawer. Valorile valide suntdefaultsaubw.circuit_mpl_style_path: Căile pe care Circuit drawer le folosește pentru a căuta foi de stil JSON când utilizează modul de ieșire mpl.state_drawer: Acesta este folosit pentru a schimba sistemul implicit pentru metodele de desenare a vizualizării stărilor. Valorile valide suntrepr,text,latex,latex_source,qsphere,hintonsaubloch. Când kwarg-ul output nu este setat explicit pe metoda qiskit.quantum_info.DensityMatrix.draw, este folosită metoda de ieșire specificată.transpile_optimization_level: Schimbă nivelul implicit de optimizare pentru qiskit.compiler.transpile. Specifică un număr întreg de la 0 la 3.parallel: Dacă multiprocesarea Python este activată pentru operațiunile care suportă rularea în paralel. De exemplu, transpilarea mai multor obiecte qiskit.circuit.QuantumCircuit. Această setare poate fi suprascrisă de variabila de mediuQISKIT_PARALLEL. Specifică o valoare booleană.num_processes: Numărul maxim de procese paralele de lansat pentru operațiunile paralele, dacă execuția paralelă este activată. Această setare poate fi suprascrisă de variabila de mediuQISKIT_NUM_PROCS. Specifică un număr întreg mai mare decât0.
notă
- Setările Circuit drawer se aplică la qiskit.circuit.QuantumCircuit.draw și qiskit.visualization.circuit_drawer.
- Metodele de desenare a vizualizării stărilor sunt qiskit.quantum_info.Statevector.draw și qiskit.quantum_info.DensityMatrix.draw.
Variabile de mediu
Setează aceste variabile de mediu pentru a modifica comportamentul implicit al Qiskit:
QISKIT_PARALLEL: Activează multiprocesarea Python pentru a paraleliza anumite operațiuni; de exemplu, transpilarea peste mai multe Circuit-uri în Qiskit. Specifică o valoare booleană.QISKIT_NUM_PROCS: Numărul maxim de procese paralele de lansat pentru operațiunile paralele, dacă execuția paralelă este activată. Specifică un număr întreg mai mare decât zero.RAYON_NUM_THREADS: Numărul de fire de execuție pentru operațiunile multifir din Qiskit. În mod implicit, codul multifir lansează un fir pentru fiecare CPU logic. Pentru a ajusta numărul de fire pe care Qiskit le folosește, setează aceasta la o valoare întreagă. De exemplu, setând RAYON_NUM_THREADS=4 se lansează patru fire pentru funcțiile multifir.QISKIT_FORCE_THREADS: Specifică că un cod multifir ar trebui să se execute întotdeauna în mai multe fire. În mod implicit, dacă rulezi cod multifir într-o secțiune a Qiskit care rulează deja în procese paralele, Qiskit nu lansează mai multe fire, ci execută acea funcție serial. Aceasta se face pentru a evita supraîncărcarea resurselor limitate ale CPU. Totuși, dacă vrei să forțezi utilizarea mai multor fire chiar și într-un context multiproces, seteazăQISKIT_FORCE_THREADS=TRUE.QISKIT_SABRE_ALL_THREADS: Controlează comportamentul pasului de layout și rutare din managerul de pași presetat al Qiskit. Când este setat la1sauTRUE, acesta folosește toate CPU-urile disponibile pentru a rula mai multe teste aleatorii. Aceasta poate îmbunătăți calitatea rezultatelor, în special pentru sisteme cu mai mult de 20 de CPU-uri/nuclee; compromisul, totuși, este că rezultatele nu sunt reproductibile când sunt rulate pe hardware local diferit.
Pași următori
Recomandări
- Încearcă un tutorial, cum ar fi algoritmul lui Grover.
- Rulează programul Hello world.
- Citește ghidul de contribuție dacă vrei să contribui la Qiskit SDK open-source.