Configura l'SDK Qiskit in locale
Dopo aver installato e avviato l'SDK Qiskit, puoi eseguire alcuni passaggi opzionali per modificare il comportamento predefinito di Qiskit.
File di configurazione utente​
La posizione principale per la configurazione locale di Qiskit è il file di configurazione utente. Si tratta di un file in formato .ini che può essere usato per modificare le impostazioni predefinite di Qiskit.
Esempio:
[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
Per impostazione predefinita, questo file si trova in ~/.qiskit/settings.conf, ma il percorso può essere sostituito tramite la variabile d'ambiente QISKIT_SETTINGS.
Opzioni disponibili​
circuit_drawer: Cambia il sistema predefinito per il circuit drawer. Può essere impostato sulatex,mpl,textolatex_source. Quando il kwarg output non è impostato esplicitamente, viene usato questo sistema di disegno.circuit_mpl_style: Il foglio di stile predefinito usato dal sistema di output mpl per il circuit drawer. I valori validi sonodefaultobw.circuit_mpl_style_path: I percorsi in cui il circuit drawer cerca i fogli di stile JSON quando usa la modalità di output mpl.state_drawer: Viene usato per cambiare il sistema predefinito per i metodi di visualizzazione degli stati. I valori validi sonorepr,text,latex,latex_source,qsphere,hintonobloch. Quando il kwarg output non è impostato esplicitamente nel metodo qiskit.quantum_info.DensityMatrix.draw, viene usato il metodo di output specificato.transpile_optimization_level: Cambia il livello di ottimizzazione predefinito per qiskit.compiler.transpile. Specifica un intero da 0 a 3.parallel: Indica se il multiprocessing Python è abilitato per le operazioni che supportano l'esecuzione parallela. Ad esempio, la transpilazione di più oggetti qiskit.circuit.QuantumCircuit. Questa impostazione può essere sovrascritta dalla variabile d'ambienteQISKIT_PARALLEL. Specifica un valore booleano.num_processes: Il numero massimo di processi paralleli da avviare per le operazioni parallele, se l'esecuzione parallela è abilitata. Questa impostazione può essere sovrascritta dalla variabile d'ambienteQISKIT_NUM_PROCS. Specifica un intero maggiore di0.
nota
- Le impostazioni del circuit drawer si applicano a qiskit.circuit.QuantumCircuit.draw e a qiskit.visualization.circuit_drawer.
- I metodi di visualizzazione degli stati sono qiskit.quantum_info.Statevector.draw e qiskit.quantum_info.DensityMatrix.draw.
Variabili d'ambiente​
Imposta queste variabili d'ambiente per modificare il comportamento predefinito di Qiskit:
QISKIT_PARALLEL: Abilita il multiprocessing Python per parallelizzare determinate operazioni; ad esempio, la transpilazione su più circuit in Qiskit. Specifica un valore booleano.QISKIT_NUM_PROCS: Il numero massimo di processi paralleli da avviare per le operazioni parallele, se l'esecuzione parallela è abilitata. Specifica un intero maggiore di zero.RAYON_NUM_THREADS: Il numero di thread per eseguire operazioni multi-thread in Qiskit. Per impostazione predefinita, il codice multi-thread avvia un thread per ogni CPU logica. Per regolare il numero di thread usati da Qiskit, imposta questa variabile su un valore intero. Ad esempio, impostando RAYON_NUM_THREADS=4 vengono avviati quattro thread per le funzioni multi-thread.QISKIT_FORCE_THREADS: Specifica che il codice multi-thread deve essere sempre eseguito in più thread. Per impostazione predefinita, se stai eseguendo codice multi-thread in una sezione di Qiskit che è già in esecuzione in processi paralleli, Qiskit non avvia più thread ma esegue quella funzione in modo seriale. Questo comportamento serve a evitare il potenziale sovraccarico delle risorse CPU limitate. Tuttavia, se vuoi forzare l'uso di più thread anche in un contesto multiprocesso, impostaQISKIT_FORCE_THREADS=TRUE.QISKIT_SABRE_ALL_THREADS: Controlla il comportamento del layout e del routing pass nel preset pass manager di Qiskit. Quando impostato su1oTRUE, usa tutte le CPU disponibili per eseguire più trial casuali. Questo può migliorare la qualità dei risultati, specialmente per sistemi con più di 20 CPU/core; il compromesso, tuttavia, è che i risultati non sono riproducibili quando eseguiti su hardware locale diverso.
Passi successivi​
Raccomandazioni
- Prova un tutorial, come l'algoritmo di Grover.
- Esegui il programma Hello world.
- Leggi le linee guida per i contributi se vuoi contribuire all'SDK Qiskit open source.