Comprendre les 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 Jupyter Notebooks. 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
Un environnement Python avec Python et Pip installés.
Dernière version de Visual Studio Code ou ouvrez VS Code sur le web.
VS Code avec le kit de développement Azure Quantum, Python et les extensions Jupyter installées.
La dernière version d’Azure Quantum
qsharp
etqsharp-widgets
des packages.python -m pip install --upgrade qsharp qsharp-widgets
Paramètres de sortie
Les données de sortie de l’estimateur de ressources sont un rapport imprimé dans la console et accessible par programmation. Par exemple, l’extrait de code suivant montre comment accéder aux paramètres d’estimation des ressources.
result['job_params']
Les données de sortie suivantes constituent les entrées possibles qui peuvent être accessibles par programmation.
Paramètre de sortie de niveau supérieur | Type de données | Description |
---|---|---|
status |
string | Status du travail, il s’agit toujours Succeeded de . |
job_params |
dictionnaire | Paramètres target du travail passés en tant qu’entrée. |
physical_counts |
dictionnaire | Estimations des ressources physiques. Pour plus d’informations, consultez Nombres physiques. |
physical_counts_formatted |
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. |
logical_qubit |
dictionnaire | Propriétés qubit logiques. Pour plus d’informations, consultez Qubit logique. |
tfactory |
dictionnaire | Propriétés de la fabrique T. |
logical_counts |
dictionnaire | Estimations des ressources logiques de pré-disposition. Pour plus d’informations, consultez Nombres logiques. |
report_data |
dictionnaire | Données de génération pour le rapport d’estimation des ressources. |
Nombres physiques
Le physical_counts
dictionnaire contient les entrées suivantes :
Paramètre de sortie | Type de données | Description |
---|---|---|
physical_qubits |
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 de physical_counts
contient les entrées suivantes :
Paramètre de sortie | Type de données | Description |
---|---|---|
algorithmic_logical_qubits |
nombre | Les qubits logiques requis pour l’exécution de l’algorithme et n’incluent pas de ressources pour les fabriques T. |
algorithmic_logical_depth |
nombre | Les cycles logiques nécessaires à l’exécution de l’algorithme et n’incluent pas de ressources pour les fabriques T. |
logical_depth |
nombre | Nombre éventuellement ajusté de cycles qui est calculé chaque fois que le temps d’exécution de la fabrique T est plus rapide que l’exécution de l’algorithme. |
num_tstates |
nombre | Nombre d’états T consommés par l’algorithme. |
clock_frequency |
nombre | Nombre de cycles logiques par seconde. |
num_tfactories |
nombre | Nombre d’usines T (en supposant que la conception de l’usine T uniforme). |
num_tfactory_runs |
nombre | Nombre de fois où toutes les usines T parallèles doivent s’exécuter. |
physical_qubits_for_tfactories |
nombre | Nombre de qubits physiques pour toutes les fabriques T. |
physical_qubits_for_algorithm |
nombre | Nombre de qubits physiques pour la disposition de l’algorithme. |
required_logical_qubit_error_rate |
nombre | Taux d’erreur logique requis. |
required_logical_tstate_error_rate |
nombre | Taux d’erreur d’état T logique requis. |
num_ts_per_rotation |
nombre | Nombre de portes T par rotation. |
clifford_error_rate |
nombre | Taux d’erreur clifford basé sur les paramètres qubit. |
Nombres physiques mis en forme
Le physical_counts_formatted
dictionnaire contient les entrées suivantes :
Paramètre de sortie | Type de données | Description |
---|---|---|
runtime |
string | Total runtime en tant que chaîne conviviale. |
rqops |
string | Nombre d’opérations quantiques fiables par seconde (QOPS) mises en forme avec le suffixe de métrique. |
physical_qubits |
string | Nombre total de qubits physiques avec suffixe de métrique. |
algorithmic_logical_qubits |
string | Qubits logiques algorithmiques avec suffixe de métrique. |
algorithmic_logical_depth |
string | Profondeur logique algorithmique avec suffixe de métrique. |
logical_depth |
string | Profondeur logique algorithmique éventuellement ajustée avec suffixe de métrique. |
num_tstates |
string | Nombre d’états T avec suffixe de métrique. |
num_tfactories |
string | Nombre de copies de fabrique T avec suffixe de métrique. |
num_tfactory_runs |
string | Nombre d’exécutions de fabrique T avec le suffixe de métrique. |
physical_qubits_for_algorithm |
string | Nombre de qubits physiques pour l’algorithme avec suffixe de métrique. |
physical_qubits_for_tfactories |
string | Nombre de qubits physiques pour les fabriques T avec suffixe de métrique. |
physical_qubits_for_tfactories_percentage |
string | Nombre de qubits physiques pour toutes les fabriques T en pourcentage au total. |
required_logical_qubit_error_rate |
string | Taux d’erreur qubit logique requis tronqué. |
required_logical_tstate_error_rate |
string | Taux d’erreur d’état T requis tronqué. |
physical_qubits_per_logical_qubit |
string | Nombre de qubits physiques par qubit logique avec suffixe de métrique. |
logical_cycle_time |
string | Durée du cycle logique d’un qubit logique en tant que chaîne conviviale. |
clock_frequency |
string | Nombre de cycles logiques par seconde sous forme de chaîne conviviale. |
logical_error_rate |
string | Taux d’erreur logique tronqué. |
tfactory_physical_qubits |
string | Nombre de qubits physiques dans la fabrique T avec suffixe de métrique (ou message indiquant qu’il n’existe pas de fabrique T). |
tfactory_runtime |
string | Runtime d’une fabrique T unique en tant que chaîne conviviale (ou message indiquant qu’il n’existe pas de fabrique T). |
num_input_tstates |
string | Nombre d’états T d’entrée (ou message indiquant qu’il n’existe pas de fabrique T). |
num_units_per_round |
string | Nombre d’unités par cycle de distillation, virgules séparées dans une chaîne (ou message indiquant qu’il n’y a pas d’usine T). |
unit_name_per_round |
string | Noms d’unités de chaque cycle de distillation, virgules séparées dans une chaîne (ou message indiquant qu’il n’y a pas d’usine T). |
code_distance_per_round |
string | Distances de code par cycle de distillation, virgules séparées dans une chaîne (ou message indiquant qu’il n’y a pas de fabrique T). |
physical_qubits_per_round |
string | Nombre de qubits physiques par cycle de distillation, virgules séparées dans une chaîne (ou message indiquant qu’il n’y a pas de T factory). |
tfactory_runtime_per_round |
string | Runtime de chaque cycle de distillation, affiché sous forme de chaînes conviviales séparées par des virgules (ou message indiquant qu’il n’existe pas de fabrique T). |
tstate_logical_error_rate |
string | Taux d’erreur d’état T logique tronqué (ou message indiquant qu’il n’existe pas de fabrique T). |
logical_counts_num_qubits |
string | Nombre de qubits (pré-disposition) avec suffixe de métrique. |
logical_counts_t_count |
string | Nombre de portes T (pré-disposition) avec suffixe de métrique. |
logical_counts_rotation_count |
string | Nombre de portes de rotation (pré-disposition) avec suffixe de métrique. |
logical_counts_rotation_depth |
string | Profondeur de rotation (pré-disposition) avec suffixe de métrique. |
logical_counts_ccz_count |
string | Nombre de portes CCZ (pré-disposition) avec suffixe de métrique. |
logical_counts_ccix_count |
string | Nombre de portes CCiX (pré-disposition) avec suffixe de métrique. |
logical_counts_measurement_count |
string | Nombre de mesures à qubit unique (pré-disposition) avec suffixe de métrique. |
error_budget |
string | Budget d’erreur total tronqué. |
error_budget_logical |
string | Budget d’erreur tronqué pour l’erreur logique. |
error_budget_tstates |
string | Budget d’erreur tronqué pour une distillation d’état T défectueuse. |
error_budget_rotations |
string | Budget d’erreur tronqué pour une synthèse de rotation défectueuse. |
num_ts_per_rotation |
string | Nombre de Ts mis en forme par rotation (peut être Aucun). |
Qubit logique
Le logical_qubit
dictionnaire contient les entrées suivantes :
Paramètre de sortie | Type de données | Description |
---|---|---|
code_distance |
nombre | Distance de code calculée pour le qubit logique. |
physical_qubits |
nombre | Nombre de qubits physiques pour chaque qubit logique. |
logical_cycle_time |
nombre | Heure d’exécution d’une opération logique. |
logical_error_rate |
nombre | Taux d’erreur logique du qubit logique. |
Nombres logiques
Le logical_counts
dictionnaire contient les entrées suivantes :
Paramètre de sortie | Type de données | Description |
---|---|---|
num_qubits |
nombre | Nombre de qubits de pré-disposition. |
t_count |
nombre | Numéro de pré-disposition des portes T. |
rotation_count |
nombre | Nombre de portes de rotation de pré-disposition. |
rotation_depth |
nombre | Profondeur de rotation de pré-disposition. |
ccz_count |
nombre | Numéro de pré-disposition des portes CCZ. |
ccix_count |
nombre | Numéro de pré-disposition des portes CCiX. |
measurement_count |
nombre | Nombre de mesures à un seul qubit avant la disposition. |
Diagramme d’espace
L’estimation globale des ressources physiques se compose du nombre total de qubits physiques utilisés pour l’algorithme et les copies 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)
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 du . 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 de l’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 l’allocation d’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 d’espace-temps pour visualiser les compromis entre le nombre de qubits physiques et le runtime de l’algorithme.
Notes
Pour afficher plusieurs combinaisons optimales dans le diagramme spatio-temps, vous devez définir le type d’estimation sur Estimation de la frontière pareto. 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 espace-temps vous permet de trouver la combinaison optimale de {nombre de qubits, runtime} paires 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 paire {nombre de qubits, runtime}.
Pour exécuter le diagramme d’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"])
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.
Notes
Si vous rencontrez un problème lors de l’utilisation de l’estimateur de ressources, case activée la page Résolution des problèmes ou contactez AzureQuantumInfo@microsoft.com.
Étapes suivantes
- Exécuter votre première estimation de ressources
- Personnaliser les estimations de ressources en fonction des caractéristiques de la machine
- Différentes façons d’exécuter l’estimateur de ressources
- Gérer des programmes volumineux avec l’estimateur de ressources
- Tutoriel : Estimer les ressources d’un problème de chimie quantique
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour