Comment exécuter plusieurs configurations de target paramètres avec l’estimateur de ressources
Article
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 envoyer des travaux à l’estimateur de ressources, vous avez besoin des éléments suivants :
Un compte Azure avec un abonnement actif. Si vous n’avez pas de compte Azure, inscrivez-vous gratuitement et inscrivez-vous à un abonnement de paiement à l’utilisation.
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, comme un seul travail pour éviter la réexécution de plusieurs travaux sur le même programme quantique.
Un travail d’estimation des ressources se compose de deux types de paramètres de travail :
Target paramètres : modèle 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 d’une configuration de target paramètres et d’arguments d’opération. Plusieurs éléments sont représentés sous la forme d’un tableau de paramètres de travail.
Certains scénarios où 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.
Traitement par lots de travaux à l’aide de différents langages
Sélectionnez les onglets souhaités pour obtenir des exemples de traitement par lots d’estimateur de ressources.
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. Q# Le traitement par lots peut être effectué dans un bloc-notes Jupyter 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 bloc-notes Jupyter de votre Q# programme, ajoutez une nouvelle cellule et exécutez le code suivant :
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 en tant que tâche unique.
Si vous estimez les ressources d’un programme Qiskit, vous pouvez exécuter plusieurs configurations de target paramètres, également appelées traitement par lots. Le traitement par lots avec Qiskit peut être effectué dans un bloc-notes dans Portail Azure.
Considérez le circuit Qiskit suivant qui prend trois qubits et appliquez une porte CCX ou Toffoli à l’aide du troisième qubit comme target. Dans ce cas, vous souhaitez estimer les ressources de ce circuit quantique pour quatre paramètres différents target , de sorte que chaque configuration se compose d’un target paramètre. Le traitement par lots vous permet d’envoyer toutes les configurations en même temps.
Dans le même bloc-notes de votre programme Qiskit, ajoutez une nouvelle cellule et exécutez le code suivant :
Le résultat du travail d’estimation des ressources s’affiche dans une table avec plusieurs résultats provenant de la liste des éléments. Par défaut, le nombre maximal d’éléments à afficher est de cinq. Pour afficher une liste d’éléments où , utilisez results[0:N]. Vous pouvez également accéder à des résultats individuels en fournissant un nombre en tant qu’index. Par exemple, results[0] pour afficher la table des résultats de la première configuration.
Si vous estimez les ressources d’un programme PyQIR, vous pouvez exécuter plusieurs configurations de target paramètres, également appelées traitement par lots. Le traitement par lots avec PyQIR peut être effectué dans un notebook dans Portail Azure.
Considérez que vous souhaitez estimer les ressources d’une opération quantique à l’aide des six paramètres qubit prédéfinis. En tant que schéma QEC prédéfini, nous utilisons surface_code des paramètres qubit basés sur la porte et floquet_code avec des paramètres qubit basés sur Majorana. L’opération prend six arguments différents.
Dans le même bloc-notes de votre programme PyQIR, ajoutez une nouvelle cellule et exécutez :
Tout d’abord, vous importez certains packages pour utiliser l’estimateur target de ressources et la QubitParams classe.
Python
from azure.quantum.target.microsoft import MicrosoftEstimator, QubitParams, QECScheme
Vous définissez les étiquettes pour les paramètres qubit. Les étiquettes sont utilisées pour identifier les paramètres qubit dans la table de résultats. Vous définissez un certain nombre d’éléments pour le travail en passant le num_items paramètre à la make_params méthode. Dans ce cas, le nombre d’éléments est de six, un pour chaque paramètre qubit prédéfini.
Les arguments sont passés en tant que dictionnaire. Les clés sont les noms des arguments et les valeurs sont les valeurs des arguments. Les arguments peuvent être des nombres ou des tableaux de nombres. Dans ce cas, vous passez les arguments suivants :
Ensuite, vous pouvez passer les paramètres qubit pour chaque configuration en spécifiant l’élément dans items[]. Utilisez qubit_params.name et spécifiez laQubitParamsclasse, par exempleGATE_US_E3, et utilisezqec_scheme.name, puis spécifiez la QECScheme classe, par exempleFLOQUET_CODE.
En exécutant chaque configuration en tant que tâche unique, cela entraînerait la soumission de six travaux, ce qui signifie six compilations distinctes pour le même programme. Au lieu de cela, vous envoyez un travail de traitement par lot avec plusieurs éléments.
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.