Partager via


Présentation des données de résultat de l’estimateur de ressources

Découvrez comment interpréter et récupérer les paramètres de sortie et les diagrammes de l’estimateur de ressources. Cet article explique comment accéder par programmation aux résultats de l’estimateur de ressources dans les notebooks Jupyter. Si vous exécutez l’estimateur de ressources dans Visual Studio Code à partir de la palette de commandes, les commandes suivantes ne s’appliquent pas.

Prérequis

Paramètres de sortie

Les données de sortie de l’estimateur de ressource sont un rapport imprimé dans la console et accessibles par programmation. Par exemple, l’extrait de code suivant montre comment accéder aux paramètres d’estimation des ressources.

result['jobParams']

Les données de sortie suivantes constituent les entrées possibles qui peuvent être accessibles par programme.

Paramètre de sortie de niveau supérieur Type de données Description
status string L’état du travail, c’est toujours Succeeded.
jobParams dictionnaire Paramètres target du travail transmis en tant qu’entrée.
physicalCounts dictionnaire Estimations des ressources physiques. Pour plus d’informations, consultez Nombres physiques.
physicalCountsFormatted dictionnaire Estimations des ressources physiques mises en forme pour l’affichage dans les données de rapport. Pour plus d’informations, consultez Nombres physiques mis en forme.
logicalQubit dictionnaire Propriétés du qubit logique. Pour plus d’informations, consultez qubit logique.
tfactory dictionnaire Propriétés de la fabrique T.
logicalCounts dictionnaire Estimations des ressources logiques de pré-disposition. Pour plus d’informations, consultez Nombres logiques.
reportData dictionnaire Données de génération pour le rapport d’estimation des ressources.

Nombres physiques

Le physicalCounts dictionnaire contient les entrées suivantes :

Paramètre de sortie Type de données Description
physicalQubits nombre Nombre total de qubits physiques.
runtime nombre Runtime total pour exécuter l’algorithme en nanosecondes.
rqops nombre Nombre d’opérations quantiques fiables par seconde (QOPS).
breakdown dictionnaire Répartition des estimations. Pour plus d’informations, consultez Répartition des nombres physiques.

Répartition des nombres physiques

Le breakdown dictionnaire des physicalCounts entrées suivantes :

Paramètre de sortie Type de données Description
algorithmicLogicalQubits nombre Qubits logiques requis pour l’exécution de l’algorithme et n’incluent pas de ressources pour les fabriques T.
algorithmicLogicalDepth nombre Les cycles logiques requis pour l’exécution de l’algorithme et n’incluent pas de ressources pour les fabriques T.
logicalDepth nombre Nombre éventuellement ajusté de cycles calculés chaque fois que le temps d’exécution de la fabrique T est plus rapide, puis l’exécution de l’algorithme.
numTstates nombre Nombre d’états T consommés par l’algorithme.
clockFrequency nombre Nombre de cycles logiques par seconde.
numTfactories nombre Nombre d’usines T (en supposant la conception uniforme de la fabrique T).
numTfactoryRuns nombre Nombre de fréquences d’exécution de toutes les usines T parallèles.
physicalQubitsForTfactories nombre Nombre de qubits physiques pour toutes les usines T.
physicalQubitsForAlgorithm nombre Nombre de qubits physiques pour la disposition de l’algorithme.
requiredLogicalQubitErrorRate nombre Taux d’erreur logique requis.
requiredLogicalTstateErrorRate nombre Taux d’erreur d’état T logique requis.
numTsPerRotation nombre Nombre de portes T par rotation.
cliffordErrorRate nombre Taux d’erreur Clifford basé sur les paramètres qubit.

Nombres physiques mis en forme

Le physicalCountsFormatted dictionnaire contient les entrées suivantes :

Paramètre de sortie Type de données Description
runtime string Exécution totale en tant que chaîne conviviale humaine.
rqops string Nombre d’opérations quantiques fiables par seconde (QOPS) mises en forme avec le suffixe de métrique.
physicalQubits string Nombre total de qubits physiques avec suffixe de métrique.
algorithmicLogicalQubits string Qubits logiques algorithmiques avec suffixe de métrique.
algorithmicLogicalDepth string Profondeur logique algorithmique avec suffixe de métrique.
logicalDepth string Profondeur logique algorithmique peut-être ajustée avec suffixe de métrique.
numTstates string Nombre d’états T avec suffixe de métrique.
numTfactories string Nombre de copies de fabrique T avec suffixe de métrique.
numTfactoryRuns string Nombre d’exécutions de fabrique T avec le suffixe de métrique.
physicalQubitsForAlgorithm string Nombre de qubits physiques pour l’algorithme avec suffixe de métrique.
physicalQubitsForTfactories string Nombre de qubits physiques pour les fabriques T avec suffixe de métrique.
physicalQubitsForTfactoriesPercentage string Nombre de qubits physiques pour toutes les usines T en pourcentage au total.
requiredLogicalQubitErrorRate string Taux d’erreur qubit logique requis tronqué.
requiredLogicalTstateErrorRate string Taux d’erreur d’état T tronqué requis.
physicalQubitsPerLogicalQubit string Nombre de qubits physiques par qubit logique avec suffixe de métrique.
logicalCycleTime string Temps de cycle logique d’un qubit logique en tant que chaîne conviviale humaine.
clockFrequency string Nombre de cycles logiques par seconde sous forme de chaîne conviviale humaine.
logicalErrorRate string Taux d’erreur logique tronqué.
tfactoryPhysicalQubits string Nombre de qubits physiques dans la fabrique T avec suffixe de métrique (ou message indiquant qu’il n’existe aucune fabrique T).
tfactoryRuntime string Exécution d’une fabrique T unique en tant que chaîne conviviale humaine (ou message indiquant qu’il n’existe aucune fabrique T).
numInputTstates string Nombre d’états T d’entrée (ou message indiquant qu’il n’existe aucune fabrique T).
numUnitsPerRound string Nombre d’unités par round de distillation, virgule séparée dans une chaîne (ou message indiquant qu’il n’y a pas de fabrique T).
unitNamePerRound string Noms d’unités de chaque round de distillation, virgule séparées dans une chaîne (ou message indiquant qu’il n’y a pas de fabrique T).
codeDistancePerRound string Le code distance par round de distillation, virgule séparée dans une chaîne (ou message indiquant qu’il n’y a pas de fabrique T).
physicalQubitsPerRound string Nombre de qubits physiques par round de distillation, virgule séparée dans une chaîne (ou message indiquant qu’il n’y a pas de fabrique T).
tfactoryRuntimePerRound string Le runtime de chaque round de distillation, affiché sous forme de chaînes conviviales séparées par des virgules (ou message indiquant qu’il n’y a pas de fabrique T).
tstateLogicalErrorRate string Taux d’erreur d’état T logique tronqué (ou message indiquant qu’il n’existe aucune fabrique T).
logicalCountsNumQubits string Nombre de qubits (pré-disposition) avec suffixe de métrique.
logicalCountsTCount string Nombre de portes T (pré-disposition) avec suffixe de métrique.
logicalCountsRotationCount string Nombre de portes de rotation (préconfiguration) avec suffixe de métrique.
logicalCountsRotationDepth string Profondeur de rotation (pré-disposition) avec suffixe de métrique.
logicalCountsCczCount string Nombre de portes CCZ (pré-disposition) avec suffixe de métrique.
logicalCountsCcixCount string Nombre de portes CCiX (pré-disposition) avec suffixe de métrique.
logicalCountsMeasurementCount string Nombre de mesures à qubit unique (pré-disposition) avec suffixe de métrique.
errorBudget string Budget total d’erreur tronqué.
errorBudgetLogical string Budget d’erreur tronqué pour une erreur logique.
errorBudgetTstates string Budget d’erreur tronqué pour la distillation d’état T défaillante.
errorBudgetRotations string Budget d’erreur tronqué pour la synthèse de rotation défectueuse.
numTsPerRotation string Nombre mis en forme de Ts par rotation (peut être Aucun).

Qubit logique

Le logicalQubit dictionnaire contient les entrées suivantes :

Paramètre de sortie Type de données Description
codeDistance nombre Distance de code calculée pour le qubit logique.
physicalQubits nombre Nombre de qubits physiques pour chaque qubit logique.
logicalCycleTime nombre Heure d’exécution d’une opération logique.
logicalErrorRate nombre Taux d’erreur logique du qubit logique.

Nombres logiques

Le logicalCounts dictionnaire contient les entrées suivantes :

Paramètre de sortie Type de données Description
numQubits nombre Nombre de qubits préconfigure.
tCount nombre Nombre pré-disposition de portes T.
rotationCount nombre Nombre de portes de rotation préalablement mises en page.
rotationDepth nombre Profondeur de rotation de pré-disposition.
cczCount nombre Nombre de portes CCZ préalablement mises en page.
ccixCount nombre Nombre de portes CCiX préconfigurées.
measurementCount nombre Nombre préconfiguré de mesures à qubit unique.

Conseil

Si vous souhaitez utiliser un ensemble précalculé de nombres logiques pour un travail d’estimation des ressources, vous pouvez utiliser l’opération LogicalCounts Python pour passer les estimations connues à l’estimateur de ressources. Pour plus d’informations, consultez Comment utiliser des estimations connues avec l’estimateur de ressources.

Diagramme d’espace

L’estimation globale des ressources physiques se compose du nombre total de qubits physiques utilisés pour les copies d’algorithme et de fabrique T. Vous pouvez inspecter la distribution entre ces deux à l’aide du diagramme d’espace.

Le diagramme d’espace montre la proportion des qubits physiques utilisés pour l’algorithme et les fabriques T. Notez que le nombre de copies de fabrique T contribue au nombre de qubits physiques pour les fabriques T.

Dans Jupyter Notebook, vous pouvez accéder au diagramme d’espace à l’aide du SpaceChart widget à partir du qsharp-widgets package.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

Diagramme à secteurs montrant la distribution de qubits physiques totaux entre les qubits d’algorithme et les qubits de fabrique T. Il existe une table avec la répartition du nombre de copies de fabrique T et le nombre de qubits physiques par fabrique T.

Lors de l’exécution de plusieurs configurations de target paramètres avec l’estimation de la frontière Pareto, vous pouvez tracer le diagramme d’espace pour une solution spécifique de l’objet. Par exemple, le code suivant montre comment tracer le diagramme d’espace pour la première configuration des paramètres et le troisième runtime le plus court.

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

Diagramme d’espace-temps

Dans l’informatique quantique, il existe un compromis entre le nombre de qubits physiques et le runtime de l’algorithme. Vous pouvez envisager d’allouer autant de qubits physiques que possible pour réduire le runtime de l’algorithme. Toutefois, le nombre de qubits physiques est limité par le nombre de qubits physiques disponibles dans le matériel quantique. Comprendre le compromis entre l’exécution et la mise à l’échelle du système est l’un des aspects les plus importants de l’estimation des ressources.

Lors de l’estimation des ressources d’un algorithme, vous pouvez utiliser le diagramme espace-temps pour visualiser les compromis entre le nombre de qubits physiques et le runtime de l’algorithme.

Remarque

Pour afficher plusieurs combinaisons optimales dans le diagramme espace-temps, vous devez définir le type d’estimation sur l’estimation pareto frontier. Si vous exécutez l’estimateur de ressources dans Visual Studio Code à l’aide de l’option Q#: Calculer les estimations des ressources, l’estimation de la frontière Pareto est activée par défaut.

Le diagramme d’espace-temps vous permet de trouver la combinaison optimale de {nombre de qubits, de paires runtime} qui répondent aux contraintes du matériel quantique. Le diagramme montre le nombre de qubits physiques et le runtime de l’algorithme pour chaque {nombre de qubits, paire runtime}.

Pour exécuter le diagramme espace-temps dans Jupyter Notebook, vous pouvez utiliser le EstimatesOverview widget à partir du qsharp-widgets package.

import qsharp

from qsharp_widgets import EstimatesOverview

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

Capture d’écran montrant le diagramme de qubit-time de l’estimateur de ressources.

Conseil

Pour afficher les détails de l’estimation, vous pouvez pointer sur chaque point du diagramme.

Le diagramme d’espace-temps est particulièrement utile lors de la comparaison de plusieurs configurations de target paramètres pour le même algorithme.

Capture d’écran montrant le diagramme d’espace-temps et la table des résultats lors de l’exécution de plusieurs configurations de paramètre dans l’estimateur de ressources.

Remarque

Si vous rencontrez un problème lors de l’utilisation de l’estimateur de ressources, consultez la page Résolution des problèmes ou contactez AzureQuantumInfo@microsoft.com.

Étapes suivantes