Condividi tramite


Recuperare l'output dello strumento di stima delle risorse Microsoft Quantum

Informazioni su come interpretare e recuperare i parametri di output e i diagrammi dello strumento di stima delle risorse Di Microsoft Quantum. Questo articolo illustra come accedere a livello di codice ai risultati dello strumento di stima delle risorse 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 dello strumento di stima delle risorse è 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 dello strumento di stima delle risorse:

result['jobParams']

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

Parametro di output di livello superiore Tipo di dati Descrizione
status stringa Lo stato del processo è sempre Succeeded.
jobParams dizionario Parametri del lavoro che vengono passati come input.
physicalCounts dizionario Stime delle risorse fisiche. Per ulteriori 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 ulteriori 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 numero Numero totale di qubit fisici.
runtime numero Tempo di esecuzione totale per eseguire l'algoritmo in nanosecondi.
rqops numero Numero di operazioni quantistiche affidabili al secondo (QOPS).
breakdown dizionario Scomposizione delle stime. Per ulteriori informazioni, vedere Dettagli dei conteggi fisici.

Suddivisione dei conteggi fisici

Il breakdown dizionario di physicalCounts contiene le voci seguenti:

Parametro di output Tipo di dati Descrizione
algorithmicLogicalQubits numero I qubit logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T.
algorithmicLogicalDepth numero I cicli logici necessari per l'esecuzione dell'algoritmo e non includono risorse per le factory T.
logicalDepth numero Numero di cicli possibilmente modificato calcolato ogni volta che il tempo di esecuzione della factory T è più rapido rispetto all'esecuzione dell'algoritmo.
numTstates numero Numero di stati T utilizzati dall'algoritmo.
clockFrequency numero Numero di cicli logici al secondo.
numTfactories numero Numero di factory T (presuppone la progettazione uniforme della fabbrica T).
numTfactoryRuns numero Numero della frequenza con cui devono essere eseguite tutte le factory T parallele.
physicalQubitsForTfactories numero Numero di qubit fisici per tutte le fabbriche T.
physicalQubitsForAlgorithm numero Numero di qubit fisici per il layout dell'algoritmo.
requiredLogicalQubitErrorRate numero Frequenza di errore logica richiesta.
requiredLogicalTstateErrorRate numero Frequenza di errore dello stato T logico richiesta.
numTsPerRotation numero Numero di cancelli T per rotazione.
cliffordErrorRate numero 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 Tempo di esecuzione 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 basati su algoritmi con un suffisso metrico.
algorithmicLogicalDepth stringa Profondità logica algoritmica con suffisso metrico.
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 di fabbrica di tipo 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 metrico.
physicalQubitsForTfactories stringa Numero di qubit fisici per le fabbriche T con suffisso metrico.
physicalQubitsForTfactoriesPercentage stringa Il numero di qubit fisici per tutte le T factory in percentuale rispetto al totale.
requiredLogicalQubitErrorRate stringa Velocità di errore richiesta del qubit logico ridotta.
requiredLogicalTstateErrorRate stringa Tasso di errore dello stato T troncato.
physicalQubitsPerLogicalQubit stringa Numero di qubit fisici per qubit logico con suffisso metrico.
logicalCycleTime stringa Tempo del ciclo logico di un qubit logico come stringa comprensibile per l'uomo.
clockFrequency stringa Numero di cicli logici al secondo come stringa comprensibile per l'uomo.
logicalErrorRate stringa Tasso di errore logico troncato.
tfactoryPhysicalQubits stringa Numero di qubit fisici nella fabbrica T con suffisso metrico (o messaggio che non esiste alcuna fabbrica T).
tfactoryRuntime stringa Tempo di esecuzione di una singola factory T come stringa descrittiva umana (o messaggio che non esiste 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 I nomi delle unità di ciascun turno di distillazione, separati da virgole in una stringa (o un messaggio che informa dell'assenza di 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 di distillazione, separati da virgole in una stringa (o messaggio che non è presente alcuna fabbrica T).
tfactoryRuntimePerRound stringa Il tempo di esecuzione di ogni ciclo di distillazione, visualizzato come stringhe leggibili da umani delimitate da virgole (o un messaggio che indica l'assenza di una fabbrica T).
tstateLogicalErrorRate stringa Velocità di errore dello stato logico T troncata (o messaggio che non è presente alcuna T factory).
logicalCountsNumQubits stringa Numero di qubit (pre-layout) con suffisso metrico.
logicalCountsTCount stringa Numero di cancelli T (prima del layout) con suffisso metrico.
logicalCountsRotationCount stringa Numero di cancelli di rotazione (pre-layout) con suffisso metrico.
logicalCountsRotationDepth stringa Profondità di rotazione (pre-layout) con suffisso metrico.
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 distillazione dello stato T difettoso.
errorBudgetRotations stringa Budget di errore ridotto per la sintesi di rotazione errata.
numTsPerRotation stringa 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 numero Distanza del codice calcolata per il qubit logico.
physicalQubits numero Numero di qubit fisici per ogni qubit logico.
logicalCycleTime numero Tempo necessario per eseguire un'operazione logica.
logicalErrorRate numero Tasso di errore logico del qubit logico.

Conteggi logici

Il logicalCounts dizionario contiene le voci seguenti:

Parametro di output Tipo di dati Descrizione
numQubits numero Numero di qubit nel pre-layout.
tCount numero Numero di cancelli T pre-layout.
rotationCount numero Numero di cancelli di rotazione pre-layout.
rotationDepth numero Profondità rotazione pre-layout.
cczCount numero Numero di cancelli CCZ pre-layout.
ccixCount numero Numero di porte CCiX pre-layout.
measurementCount numero Numero preliminare di misurazioni su singolo qubit.

Suggerimento

Se si vuole usare un set precalconato di conteggi logici per un processo di stima delle risorse, usare l'oggetto LogicalCounts Python per passare le stime note allo strumento di stima delle risorse. 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 della factory T. Il diagramma spaziale mostra la distribuzione dei qubit fisici tra l'algoritmo e le factory T. Il numero di copie factory T contribuisce al numero di qubit fisici usati per le factory T.

In Jupyter Notebook è possibile usare il SpaceChart widget del qdk.widgets modulo per aprire il diagramma spaziale.

from qdk.widgets import SpaceChart

SpaceChart(result)

Diagramma a torta che mostra la distribuzione dei qubit fisici totali tra qubit di algoritmo e qubit di T factory. È presente una tabella con la suddivisione del numero di copie del T factory e del numero di qubit fisici per ciascun T factory.

Quando si eseguono più configurazioni di target parametri con la stima della frontiera Pareto, è possibile tracciare il diagramma spaziale per una soluzione specifica dello strumento di stima delle risorse. Ad esempio, il codice seguente illustra come tracciare il diagramma spaziale per la prima configurazione dei parametri e il terzo tempo di esecuzione più breve.

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest run time

Diagramma spazio-tempo

Nel calcolo quantistico esiste un compromesso tra il numero di qubit fisici e il tempo di esecuzione dell'algoritmo. Se si allocano più qubit fisici, è possibile ridurre il tempo di esecuzione dell'algoritmo. Tuttavia, il numero di qubit fisici è limitato dall'hardware quantistico. Usare la stima delle risorse per comprendere il compromesso tra il numero di qubit fisici e il tempo di esecuzione.

Quando si stimano le risorse necessarie per eseguire un algoritmo, è possibile usare il diagramma spazio-tempo per visualizzare i compromessi tra il numero di qubit fisici e il tempo di esecuzione 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 VS Code con il comando QDK: Calculate Resource Estimates (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 tempo di esecuzione dell'algoritmo per ogni coppia {numero di qubit, run time}.

Per eseguire il diagramma spazio-tempo in Jupyter Notebook, usare il EstimatesOverview widget del qdk.widgets modulo.

from qdk.widgets import EstimatesOverview

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

Screenshot che mostra il diagramma qubit-time dello strumento di stima delle risorse.

Suggerimento

Per visualizzare i dettagli della stima, passare il puntatore su ogni punto del diagramma.

Il diagramma spazio-tempo è particolarmente utile per confrontare più configurazioni di target parametri per lo stesso algoritmo.

Screenshot che mostra il diagramma spazio-tempo e la tabella dei risultati quando si eseguono più configurazioni di parametri nello strumento di stima delle risorse.

Nota

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

Passaggi successivi