Comment exécuter plusieurs configurations de target paramètres avec l’estimateur de ressources
Dans cet article, vous allez apprendre à exécuter plusieurs configurations de target paramètres et à les comparer à l’aide de l’estimateur de ressources Azure Quantum.
Pour plus d’informations sur l’exécution de l’estimateur de ressources, consultez Différentes façons d’utiliser l’estimateur de ressources.
Prérequis
Les prérequis suivants sont requis pour exécuter l’estimateur de ressources :
Pour exécuter Q# des programmes dans l’estimateur de ressources, vous avez besoin des éléments suivants :
- La dernière version de Visual Studio Code ou ouvrez VS Code sur le web.
- Dernière version de l’extension du Kit de développement Azure Quantum . Pour plus d’informations sur l’installation, consultez Installation du QDK moderne sur VS Code.
Si vous souhaitez utiliser Python dans VS Code, vous avez également besoin des éléments suivants :
Installez la dernière version de Python et les extensions Jupyter pour VS Code.
Le dernier package Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
Pour envoyer des travaux à l’estimateur de ressources, vous avez besoin des éléments suivants :
- Compte Azure avec un abonnement actif. Si vous n’avez pas de compte Azure, inscrivez-vous gratuitement et inscrivez-vous à un abonnement avec paiement à l’utilisation.
- Un espace de travail Azure Quantum. Pour plus d’informations, consultez Créer un espace de travail Azure Quantum.
Traitement par lots avec l’estimateur de ressources
L’estimateur de ressources Azure Quantum vous permet d’envoyer des travaux avec plusieurs configurations de paramètres de travail, également appelés éléments, en tant que travail unique pour éviter de réexécuter plusieurs travaux sur le même programme quantique.
Un travail d’estimation des ressources se compose de deux types de paramètres de travail :
- Paramètres cibles : modèle de qubit, schémas QEC, budget d’erreur, contraintes au niveau du composant et unités de distillation.
- Arguments d’opération : arguments qui peuvent être passés au programme (si le point d’entrée QIR contient des arguments).
Un élément se compose d’une configuration de paramètres de travail, c’est-à-dire une configuration de paramètres et d’arguments target d’opération. Plusieurs éléments sont représentés sous la forme d’un tableau de paramètres de travail.
Voici quelques scénarios dans lesquels vous souhaiterez peut-être envoyer plusieurs éléments en tant que tâche unique :
- Envoyez plusieurs target paramètres avec les mêmes arguments d’opération dans tous les éléments.
- Envoyez plusieurs target paramètres avec différents arguments d’opération dans tous les éléments.
- Comparez facilement plusieurs résultats dans un format tabulaire.
- Comparez facilement plusieurs résultats dans un graphique.
Si vous estimez les ressources d’un Q# programme, vous pouvez exécuter plusieurs configurations de target paramètres, également appelées traitement par lots. Le traitement par lot avec Q# peut être effectué dans un Jupyter Notebook dans VS Code.
Vous pouvez effectuer une estimation par lot en passant une liste de target paramètres au params
paramètre de la qsharp.estimate
fonction . L’exemple suivant montre comment envoyer deux configurations de target paramètres en tant que tâche unique. La première configuration utilise les paramètres par défaut target , et la deuxième configuration utilise le qubit_maj_ns_e6
paramètre qubit et le floquet_code
schéma QEC.
Dans le même Jupyter Notebook de votre Q# programme, ajoutez une nouvelle cellule et exécutez le code suivant :
result_batch = qsharp.estimate("RunProgram()", params=
[{}, # Default parameters
{
"qubitParams": {
"name": "qubit_maj_ns_e6"
},
"qecScheme": {
"name": "floquet_code"
}
}])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])
Vous pouvez également construire une liste de paramètres d’estimation target à l’aide de la EstimatorParams
classe . Le code suivant montre comment envoyer six configurations de target paramètres sous la forme d’un seul travail.
from qsharp.estimator import EstimatorParams, QubitParams, QECScheme
labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]
params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE
qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)
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.
Contenu connexe
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