Informazioni sui dati dei risultati dello strumento di stima delle risorse
Informazioni su come interpretare e recuperare i parametri di output e i diagrammi dello strumento di stima delle risorse. Questo articolo illustra come accedere a livello di codice ai risultati di Resource Estimator in Jupyter Notebooks. Se si esegue Lo strumento di stima delle risorse in Visual Studio Code dal riquadro comandi, i comandi seguenti non si applicano.
Prerequisiti
Un ambiente Python con Python e Pip installato.
La versione più recente di Visual Studio Code o aprire VS Code sul Web.
VS Code con le estensioni Azure Quantum Development Kit, Python e Jupyter installate.
I pacchetti e
qsharp-widgets
Azure Quantumqsharp
più recenti.python -m pip install --upgrade qsharp qsharp-widgets
Parametri di output
I dati di output di Resource Estimator sono un report stampato nella console e a cui è possibile accedere a livello di codice. Ad esempio, il frammento di codice seguente illustra come accedere ai parametri di stima delle risorse.
result['job_params']
I dati di output seguenti costituiscono le possibili voci a cui è possibile accedere a livello di codice.
Parametro di output di primo livello | Tipo di dati | Descrizione |
---|---|---|
status |
string | Lo stato del processo, è sempre Succeeded . |
job_params |
dictionary | Parametri target del processo passati come input. |
physical_counts |
dictionary | Stime della risorsa fisica. Per altre informazioni, vedere Conteggi fisici. |
physical_counts_formatted |
dictionary | La risorsa fisica stima formattata per la visualizzazione nei dati del report. Per altre informazioni, vedere Conteggi fisici formattati. |
logical_qubit |
dictionary | Proprietà qubit logiche. Per altre informazioni, vedere Qubit logico. |
tfactory |
dictionary | Proprietà della factory T. |
logical_counts |
dictionary | Stime delle risorse logiche di pre-layout. Per altre informazioni, vedere Conteggi logici. |
report_data |
dictionary | Dati di generazione per il report di stima delle risorse. |
Conteggi fisici
Il physical_counts
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
physical_qubits |
d'acquisto | Numero totale di qubit fisici. |
runtime |
d'acquisto | Runtime totale per eseguire l'algoritmo in nanosecondi. |
rqops |
d'acquisto | Numero di operazioni quantistice affidabili al secondo (QOPS). |
breakdown |
dictionary | Suddivisione delle stime. Per altre informazioni, vedere Suddivisione dei conteggi fisici. |
Suddivisione dei conteggi fisici
Il breakdown
dizionario di physical_counts
contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
algorithmic_logical_qubits |
d'acquisto | I qubit logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T. |
algorithmic_logical_depth |
d'acquisto | I cicli logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T. |
logical_depth |
d'acquisto | Numero possibile di cicli calcolati ogni volta che il tempo di esecuzione della factory T è più veloce e quindi l'esecuzione dell'algoritmo. |
num_tstates |
d'acquisto | Numero di stati T utilizzati dall'algoritmo. |
clock_frequency |
d'acquisto | Numero di cicli logici al secondo. |
num_tfactories |
d'acquisto | Numero di factory T (presupponendo la progettazione uniforme della fabbrica T). |
num_tfactory_runs |
d'acquisto | Numero di volte in cui devono essere eseguite tutte le factory T parallele. |
physical_qubits_for_tfactories |
d'acquisto | Numero di qubit fisici per tutte le factory T. |
physical_qubits_for_algorithm |
d'acquisto | Numero di qubit fisici per il layout dell'algoritmo. |
required_logical_qubit_error_rate |
d'acquisto | Frequenza di errore logica richiesta. |
required_logical_tstate_error_rate |
d'acquisto | Frequenza di errore dello stato T logico richiesta. |
num_ts_per_rotation |
d'acquisto | Numero di cancelli T per rotazione. |
clifford_error_rate |
d'acquisto | Frequenza di errore Clifford basata sui parametri qubit. |
Conteggi fisici formattati
Il physical_counts_formatted
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
runtime |
string | Runtime totale come stringa descrittiva umana. |
rqops |
string | Numero di operazioni quantistice affidabili al secondo formattate con suffisso metrico. |
physical_qubits |
string | Numero totale di qubit fisici con suffisso metrica. |
algorithmic_logical_qubits |
string | Qubit logici algoritmici con suffisso metrico. |
algorithmic_logical_depth |
string | Profondità logica algoritmica con suffisso metrica. |
logical_depth |
string | Possibile regolazione della profondità logica algoritmica con suffisso della metrica. |
num_tstates |
string | Numero di stati T con suffisso metrica. |
num_tfactories |
string | Numero di copie della factory T con suffisso metrico. |
num_tfactory_runs |
string | Numero di esecuzioni della factory T con suffisso metrico. |
physical_qubits_for_algorithm |
string | Numero di qubit fisici per l'algoritmo con suffisso metrico. |
physical_qubits_for_tfactories |
string | Numero di qubit fisici per le factory T con suffisso metrico. |
physical_qubits_for_tfactories_percentage |
string | Numero di qubit fisici per tutte le factory T in percentuale al totale. |
required_logical_qubit_error_rate |
string | Frequenza di errore del qubit logico troncata. |
required_logical_tstate_error_rate |
string | Frequenza di errore dello stato T troncata. |
physical_qubits_per_logical_qubit |
string | Numero di qubit fisici per qubit logico con suffisso metrico. |
logical_cycle_time |
string | Tempo del ciclo logico di un qubit logico come stringa descrittiva umana. |
clock_frequency |
string | Numero di cicli logici al secondo come stringa descrittiva umana. |
logical_error_rate |
string | Frequenza degli errori logici troncati. |
tfactory_physical_qubits |
string | Numero di qubit fisici nella factory T con suffisso metrico (o messaggio che non è presente alcuna factory T). |
tfactory_runtime |
string | Runtime di una singola factory T come stringa descrittiva umana (o messaggio che non esiste alcuna factory T). |
num_input_tstates |
string | Numero di stati T di input (o messaggio che non è presente alcuna factory T). |
num_units_per_round |
string | Numero di unità per ciclo di copia, delimitato da virgole in una stringa (o messaggio che non esiste una factory T). |
unit_name_per_round |
string | I nomi di unità di ogni round di codifica, delimitati da virgole in una stringa (o messaggio che non esiste una factory T). |
code_distance_per_round |
string | Distanze di codice per ciclo di accoppiamenti, delimitate da virgole in una stringa (o messaggio che non esiste una factory T). |
physical_qubits_per_round |
string | Numero di qubit fisici per ciclo di topologia, delimitati da virgole in una stringa (o messaggio che non è presente alcuna factory T). |
tfactory_runtime_per_round |
string | Il runtime di ogni round di interazione, visualizzato come stringhe descrittive umane delimitate da virgole (o messaggio che non c'è alcuna factory T). |
tstate_logical_error_rate |
string | Frequenza di errore dello stato T logico troncato (o messaggio che non è presente alcuna factory T). |
logical_counts_num_qubits |
string | Numero di qubit (pre-layout) con suffisso metrica. |
logical_counts_t_count |
string | Numero di controlli T (pre-layout) con suffisso metrica. |
logical_counts_rotation_count |
string | Numero di cancelli di rotazione (pre-layout) con suffisso metrico. |
logical_counts_rotation_depth |
string | Profondità rotazione (pre-layout) con suffisso metrico. |
logical_counts_ccz_count |
string | Numero di gate CCZ (pre-layout) con suffisso metrico. |
logical_counts_ccix_count |
string | Numero di controlli CCiX (pre-layout) con suffisso metrico. |
logical_counts_measurement_count |
string | Numero di misurazioni a qubit singolo (pre-layout) con suffisso metrico. |
error_budget |
string | Budget totale degli errori troncato. |
error_budget_logical |
string | Budget degli errori troncato per l'errore logico. |
error_budget_tstates |
string | Budget degli errori troncato per la formattazione dello stato T difettoso. |
error_budget_rotations |
string | Budget degli errori troncato per la sintesi della rotazione difettosa. |
num_ts_per_rotation |
string | Numero formattato di T per rotazione (potrebbe essere Nessuno). |
Qubit logico
Il logical_qubit
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
code_distance |
d'acquisto | Distanza del codice calcolata per il qubit logico. |
physical_qubits |
d'acquisto | Numero di qubit fisici per ogni qubit logico. |
logical_cycle_time |
d'acquisto | Ora di esecuzione di un'operazione logica. |
logical_error_rate |
d'acquisto | Frequenza di errore logica del qubit logico. |
Conteggi logici
Il logical_counts
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
num_qubits |
d'acquisto | Numero di qubit pre-layout. |
t_count |
d'acquisto | Numero di controlli T pre-layout. |
rotation_count |
d'acquisto | Numero di cancelli di rotazione pre-layout. |
rotation_depth |
d'acquisto | Profondità di rotazione pre-layout. |
ccz_count |
d'acquisto | Numero pre-layout di cancelli CCZ. |
ccix_count |
d'acquisto | Numero di controlli CCiX pre-layout. |
measurement_count |
d'acquisto | Numero di pre-layout di misurazioni a qubit singolo. |
Diagramma spaziale
La stima complessiva delle risorse fisiche è costituita dal numero totale di qubit fisici usati sia per l'algoritmo che per le copie della factory T. È possibile esaminare la distribuzione tra questi due usando il diagramma spaziale.
Il diagramma spaziale mostra la proporzione dei qubit fisici usati per l'algoritmo e le factory T. Si noti che il numero di copie della factory T contribuisce al numero di qubit fisici per le factory T.
In Jupyter Notebook è possibile accedere al diagramma spaziale usando il SpaceChart
widget del qsharp-widgets
pacchetto.
import qsharp
from qsharp_widgets import SpaceChart
SpaceChart(result)
Quando si eseguono più configurazioni di target parametri con la stima delle frontiere Pareto, è possibile tracciare il diagramma spaziale per una soluzione specifica di . Ad esempio, il codice seguente illustra come tracciare il diagramma spaziale per la prima configurazione dei parametri e il terzo runtime più breve.
SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime
Diagramma dello spazio-tempo
Nel calcolo quantistico esiste un compromesso tra il numero di qubit fisici e il runtime dell'algoritmo. È possibile considerare l'allocazione del maggior numero possibile di qubit fisici per ridurre il runtime dell'algoritmo. Tuttavia, il numero di qubit fisici è limitato dal numero di qubit fisici disponibili nell'hardware quantistico. Comprendere il compromesso tra runtime e scalabilità di sistema è uno degli aspetti più importanti della stima delle risorse.
Quando si stimano le risorse di un algoritmo, è possibile usare il diagramma spazio-tempo per visualizzare i compromessi tra il numero di qubit fisici e il runtime dell'algoritmo.
Nota
Per visualizzare più combinazioni ottimali nel diagramma dello spazio-tempo, è necessario impostare il tipo di stima su Stima delle frontiere Pareto. Se si esegue Lo strumento di stima delle risorse in Visual Studio Code usando l'opzione Q#: Calculate Resource Estimates , la stima della frontiera Pareto è abilitata per impostazione predefinita.
Il diagramma dello spazio-tempo consente di trovare la combinazione ottimale di {numero di coppie qubit, runtime} che soddisfano i vincoli dell'hardware quantistico. Il diagramma mostra il numero di qubit fisici e il runtime dell'algoritmo per ogni coppia {numero di qubit, runtime}.
Per eseguire il diagramma dello spazio nel Jupyter Notebook, è possibile usare il EstimatesOverview
widget del qsharp-widgets
pacchetto.
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Suggerimento
Per visualizzare i dettagli della stima, è possibile passare il puntatore del mouse su ogni punto del diagramma.
Il diagramma dello spazio-tempo è particolarmente utile quando si confrontano più configurazioni di target parametri per lo stesso algoritmo.
Nota
Se si verificano problemi durante l'utilizzo di Resource Estimator, consultare la pagina Risoluzione dei problemi o contattare AzureQuantumInfo@microsoft.com.
Passaggi successivi
- Eseguire la prima stima delle risorse
- Personalizzare le stime delle risorse in base alle caratteristiche del computer
- Diversi modi per eseguire lo strumento di stima delle risorse
- Gestire programmi di grandi dimensioni con Resource Estimator
- Esercitazione: Stimare le risorse di un problema di chimica quantistica
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per