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 installati.
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 accessibile a livello di codice. Ad esempio, il frammento di codice seguente mostra come accedere ai parametri di stima delle risorse.
result['jobParams']
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 |
stringa | Lo stato del processo è sempre Succeeded . |
jobParams |
dizionario | Parametri target del processo passati come input. |
physicalCounts |
dizionario | Stime delle risorse fisiche. Per altre informazioni, vedere Conteggi fisici. |
physicalCountsFormatted |
dizionario | Le stime delle risorse fisiche formattate per la visualizzazione nei dati del report. Per altre informazioni, vedere Conteggi fisici formattati. |
logicalQubit |
dizionario | Proprietà del qubit logico. Per altre informazioni, vedere Qubit logico. |
tfactory |
dizionario | Proprietà della factory T. |
logicalCounts |
dizionario | Stime delle risorse logiche di pre-layout. Per altre informazioni, vedere Conteggi logici. |
reportData |
dizionario | Dati di generazione per il report di stima delle risorse. |
Conteggi fisici
Il physicalCounts
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
physicalQubits |
number | Numero totale di qubit fisici. |
runtime |
number | Runtime totale per eseguire l'algoritmo in nanosecondi. |
rqops |
number | Numero di operazioni quantistico affidabili al secondo (QOPS). |
breakdown |
dizionario | Scomposizione delle stime. Per altre informazioni, vedere Suddivisione dei conteggi fisici. |
Suddivisione dei conteggi fisici
Il breakdown
dizionario di physicalCounts
contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
algorithmicLogicalQubits |
number | I qubit logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T. |
algorithmicLogicalDepth |
number | I cicli logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T. |
logicalDepth |
number | Numero eventualmente modificato di cicli calcolati ogni volta che il tempo di esecuzione della factory T è più veloce e quindi l'esecuzione dell'algoritmo. |
numTstates |
number | Numero di stati T utilizzati dall'algoritmo. |
clockFrequency |
number | Numero di cicli logici al secondo. |
numTfactories |
number | Numero di stabilimenti T (presupponendo la progettazione uniforme della fabbrica T). |
numTfactoryRuns |
number | Numero della frequenza con cui devono essere eseguite tutte le factory T parallele. |
physicalQubitsForTfactories |
number | Numero di qubit fisici per tutte le factory T. |
physicalQubitsForAlgorithm |
number | Numero di qubit fisici per il layout dell'algoritmo. |
requiredLogicalQubitErrorRate |
number | Frequenza di errore logica richiesta. |
requiredLogicalTstateErrorRate |
number | Frequenza di errore dello stato T logico richiesta. |
numTsPerRotation |
number | Numero di cancelli T per rotazione. |
cliffordErrorRate |
number | Frequenza degli errori Clifford in base ai parametri qubit. |
Conteggi fisici formattati
Il physicalCountsFormatted
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
runtime |
stringa | Runtime totale come stringa descrittiva umana. |
rqops |
string | Numero di operazioni quantistice affidabili al secondo (QOPS) formattate con suffisso metrica. |
physicalQubits |
string | Numero totale di qubit fisici con suffisso della metrica. |
algorithmicLogicalQubits |
string | Qubit logici algoritmici con suffisso metrico. |
algorithmicLogicalDepth |
string | Profondità logica algoritmica con suffisso metrica. |
logicalDepth |
string | Possibile regolazione della profondità logica algoritmica con suffisso metrico. |
numTstates |
string | Numero di stati T con suffisso della metrica. |
numTfactories |
string | Numero di copie factory T con suffisso metrico. |
numTfactoryRuns |
string | Numero di esecuzioni di T factory con suffisso metrico. |
physicalQubitsForAlgorithm |
string | Numero di qubit fisici per l'algoritmo con suffisso della metrica. |
physicalQubitsForTfactories |
string | Numero di qubit fisici per le factory T con suffisso metrico. |
physicalQubitsForTfactoriesPercentage |
string | Numero di qubit fisici per tutte le factory T in percentuale al totale. |
requiredLogicalQubitErrorRate |
string | Velocità di errore del qubit logico troncata. |
requiredLogicalTstateErrorRate |
string | Velocità di errore dello stato T troncata. |
physicalQubitsPerLogicalQubit |
string | Numero di qubit fisici per qubit logico con suffisso metrico. |
logicalCycleTime |
string | Tempo del ciclo logico di un qubit logico come stringa descrittiva umana. |
clockFrequency |
string | Numero di cicli logici al secondo come stringa descrittiva umana. |
logicalErrorRate |
string | Velocità di errore logica troncata. |
tfactoryPhysicalQubits |
string | Numero di qubit fisici nella factory T con suffisso metrico (o messaggio che non esiste alcuna factory T). |
tfactoryRuntime |
string | Runtime di una singola factory T come stringa descrittiva umana (o messaggio che non è presente alcuna factory T). |
numInputTstates |
string | Numero di stati T di input (o messaggio che non è presente alcuna factory T). |
numUnitsPerRound |
string | Numero di unità per ciclo distillazione, delimitato da virgole in una stringa (o messaggio che non esiste una fabbrica T). |
unitNamePerRound |
string | Nomi di unità di ogni round distile, delimitati da virgole in una stringa (o messaggio che non esiste una fabbrica T). |
codeDistancePerRound |
string | Distanze di codice per ciclo distillazione, delimitate da virgole in una stringa (o messaggio che non esiste una factory T). |
physicalQubitsPerRound |
string | Numero di qubit fisici per ciclo distillazione, delimitati da virgole in una stringa (o messaggio che non è presente alcuna factory T). |
tfactoryRuntimePerRound |
string | Il runtime di ogni arrotondamento distillato, visualizzato come stringhe descrittive umane separate da virgole (o messaggio che non c'è nessuna fabbrica T). |
tstateLogicalErrorRate |
string | Velocità di errore dello stato T logico troncata (o messaggio che non è presente alcuna factory T). |
logicalCountsNumQubits |
string | Numero di qubit (pre-layout) con suffisso metrica. |
logicalCountsTCount |
string | Numero di cancelli T (pre-layout) con suffisso metrico. |
logicalCountsRotationCount |
string | Numero di cancelli di rotazione (pre-layout) con suffisso metrico. |
logicalCountsRotationDepth |
string | Profondità rotazione (pre-layout) con suffisso metrica. |
logicalCountsCczCount |
string | Numero di cancelli CCZ (pre-layout) con suffisso metrico. |
logicalCountsCcixCount |
string | Numero di controlli CCiX (pre-layout) con suffisso metrico. |
logicalCountsMeasurementCount |
string | Numero di misurazioni a qubit singolo (pre-layout) con suffisso metrico. |
errorBudget |
string | Bilancio totale degli errori troncato. |
errorBudgetLogical |
string | Budget degli errori troncato per l'errore logico. |
errorBudgetTstates |
string | Bilancio degli errori troncato per la lo stato T difettoso. |
errorBudgetRotations |
string | Budget degli errori troncato per la sintesi della rotazione difettosa. |
numTsPerRotation |
string | Numero formattato di T per rotazione (potrebbe essere Nessuno). |
Qubit logico
Il logicalQubit
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
codeDistance |
number | Distanza del codice calcolata per il qubit logico. |
physicalQubits |
number | Numero di qubit fisici per ogni qubit logico. |
logicalCycleTime |
number | Tempo necessario per eseguire un'operazione logica. |
logicalErrorRate |
number | Frequenza di errore logica del qubit logico. |
Conteggi logici
Il logicalCounts
dizionario contiene le voci seguenti:
Parametro di output | Tipo di dati | Descrizione |
---|---|---|
numQubits |
number | Numero di qubit pre-layout. |
tCount |
number | Numero di cancelli T pre-layout. |
rotationCount |
number | Numero di cancelli di rotazione pre-layout. |
rotationDepth |
number | Profondità rotazione pre-layout. |
cczCount |
number | Numero di cancelli CCZ pre-layout. |
ccixCount |
number | Numero di controlli CCiX pre-layout. |
measurementCount |
number | Numero di pre-layout di misurazioni a qubit singolo. |
Suggerimento
Se si vuole usare un set precalconato di conteggi logici per un processo di stima delle risorse, è possibile usare l'operazione LogicalCounts
Python per passare le stime note a Resource Estimator. Per altre informazioni, vedere Come usare stime note con Lo strumento di stima delle risorse.
Diagramma spaziale
La stima complessiva delle risorse fisiche è costituita dal numero totale di qubit fisici usati sia per l'algoritmo che per le copie 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. Tenere presente che il numero di copie di T factory contribuisce al numero di qubit fisici per T factory.
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 della frontiera 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 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 dello 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 della frontiera Pareto. Se si esegue Lo strumento di stima delle risorse in Visual Studio Code usando l'opzione Q#: Calculate Resource Estimates (Calcola stime delle risorse), la stima della frontiera Pareto è abilitata per impostazione predefinita.
Il diagramma dello spazio-tempo consente di trovare la combinazione ottimale di {numero di qubit, coppie di 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 spazio-tempo in 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 spazio-tempo è particolarmente utile quando si confrontano più configurazioni di target parametri per lo stesso algoritmo.
Nota
Se si verifica un problema durante l'uso dello strumento di stima delle risorse, 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 Lo strumento di stima delle risorse
- Esercitazione: Stimare le risorse di un problema di chimica quantistica