Condividi tramite


Ottieni l'output del Resource Estimator

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 un notebook di Jupyter in Visual Studio Code (VS Code).

Prerequisiti

Nota

Se si esegue Lo strumento di stima delle risorse in VS Code dal riquadro comandi, i comandi seguenti non si applicano. Per altre informazioni, vedere Diversi modi per eseguire Lo strumento di stima delle risorse.

Parametri di output

L'output di Resource Estimator è un report stampato nella console e accessibile a livello di codice. Ad esempio, il frammento di codice seguente visualizza i valori di tutti i parametri di Resource Estimator:

result['jobParams']

La tabella seguente contiene il tipo di dati e una breve descrizione per ogni parametro di output.

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 factory T (presuppone 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 physicalCounts dizionario contiene le voci seguenti:

Parametro di output Tipo di dati Descrizione
runtime stringa Runtime totale come stringa descrittiva umana.
rqops stringa Numero di operazioni quantistice affidabili al secondo (QOPS) formattate con suffisso metrica.
physicalQubits stringa Numero totale di qubit fisici con suffisso della metrica.
algorithmicLogicalQubits stringa Qubit logici algoritmici con suffisso metrico.
algorithmicLogicalDepth stringa Profondità logica algoritmica con suffisso metrica.
logicalDepth stringa Possibile regolazione della profondità logica algoritmica con suffisso metrico.
numTstates stringa Numero di stati T con suffisso della metrica.
numTfactories stringa Numero di copie factory T con suffisso metrico.
numTfactoryRuns stringa Numero di esecuzioni di T factory con suffisso metrico.
physicalQubitsForAlgorithm stringa Numero di qubit fisici per l'algoritmo con suffisso della metrica.
physicalQubitsForTfactories stringa Numero di qubit fisici per le factory T con suffisso metrico.
physicalQubitsForTfactoriesPercentage stringa Numero di qubit fisici per tutte le factory T in percentuale al totale.
requiredLogicalQubitErrorRate stringa Velocità di errore del qubit logico troncata.
requiredLogicalTstateErrorRate stringa Velocità di errore dello stato T troncata.
physicalQubitsPerLogicalQubit stringa Numero di qubit fisici per qubit logico con suffisso metrico.
logicalCycleTime stringa Tempo del ciclo logico di un qubit logico come stringa descrittiva umana.
clockFrequency stringa Numero di cicli logici al secondo come stringa descrittiva umana.
logicalErrorRate stringa Velocità di errore logica troncata.
tfactoryPhysicalQubits stringa Numero di qubit fisici nella factory T con suffisso metrico (o messaggio che non esiste alcuna factory T).
tfactoryRuntime stringa Runtime di una singola factory T come stringa descrittiva umana (o messaggio che non è presente alcuna factory T).
numInputTstates stringa Numero di stati T di input (o messaggio che non è presente alcuna factory T).
numUnitsPerRound stringa Numero di unità per ciclo distillazione, delimitato da virgole in una stringa (o messaggio che non esiste una fabbrica T).
unitNamePerRound stringa Nomi di unità di ogni round distile, delimitati da virgole in una stringa (o messaggio che non esiste una fabbrica T).
codeDistancePerRound stringa Distanze di codice per ciclo distillazione, delimitate da virgole in una stringa (o messaggio che non esiste una factory T).
physicalQubitsPerRound stringa Numero di qubit fisici per ciclo distillazione, delimitati da virgole in una stringa (o messaggio che non è presente alcuna factory T).
tfactoryRuntimePerRound stringa Il runtime di ogni arrotondamento distillato, visualizzato come stringhe descrittive umane separate da virgole (o messaggio che non c'è nessuna fabbrica T).
tstateLogicalErrorRate stringa Velocità di errore dello stato T logico troncata (o messaggio che non è presente alcuna factory T).
logicalCountsNumQubits stringa Numero di qubit (pre-layout) con suffisso metrica.
logicalCountsTCount stringa Numero di cancelli T (pre-layout) con suffisso metrico.
logicalCountsRotationCount stringa Numero di cancelli di rotazione (pre-layout) con suffisso metrico.
logicalCountsRotationDepth stringa Profondità rotazione (pre-layout) con suffisso metrica.
logicalCountsCczCount stringa Numero di cancelli CCZ (pre-layout) con suffisso metrico.
logicalCountsCcixCount stringa Numero di controlli CCiX (pre-layout) con suffisso metrico.
logicalCountsMeasurementCount stringa Numero di misurazioni a qubit singolo (pre-layout) con suffisso metrico.
errorBudget stringa Bilancio totale degli errori troncato.
errorBudgetLogical stringa Budget degli errori troncato per l'errore logico.
errorBudgetTstates stringa Bilancio degli errori troncato per la lo stato T difettoso.
errorBudgetRotations stringa Budget degli errori troncato per la sintesi della rotazione difettosa.
numTsPerRotation stringa Numero formattato di T per rotazione (potrebbe essere Nessuno).

Qubit logico

Il physicalCounts 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 physicalCounts 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.

from qdk.widgets import SpaceChart

SpaceChart(result)

Pie diagram showing the distribution of total physical qubits between algorithm qubits and T factory qubits. There's a table with the breakdown of number of T factory copies and number of physical qubits per T factory.Diagramma a torta che mostra la distribuzione dei qubit fisici totali tra qubit di algoritmo e qubit di T factory. È disponibile una tabella con la suddivisione del numero di copie factory T e il numero di qubit fisici per ogni factory T.

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 con il comando QDK: 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 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 dello spazio-tempo in Jupyter Notebook, usare il EstimatesOverview widget del widgets pacchetto.

from qdk.widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

Screenshot showing the qubit-time diagram of the Resource Estimator.Screenshot che mostra il diagramma qubit-time di Resource Estimator.

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.

Screenshot showing the space-time diagram and the table of results when running multiple configurations of parameter in the Resource Estimator.Screenshot che mostra il diagramma spazio-tempo e la tabella dei risultati durante l'esecuzione di più configurazioni di parametro in Resource Estimator.

Nota

Se si verificano problemi quando si lavora con Lo strumento di stima delle risorse, vedere la pagina Risoluzione dei problemi o contattare AzureQuantumInfo@microsoft.com.

Passaggi successivi