Partager via


Comment utiliser des estimations connues avec l’estimateur de ressources

Dans cet article, vous allez apprendre à utiliser des estimations précalculées et à optimiser l’exécution 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’exécuter l’estimateur de ressources.

Prérequis

Si vous souhaitez utiliser Python dans VS Code, vous avez également besoin des éléments suivants :

  • Installez la dernière version des extensions Python et Jupyter pour VS Code.

  • Dernier package Azure Quantum qsharp .

    python -m pip install --upgrade qsharp 
    

Utiliser des estimations connues pour une opération

Si vous connaissez déjà certaines estimations pour une opération, par exemple à partir d’un document publié, une façon de réduire le temps d’exécution prend les estimations connues et les incorpore dans le coût global du programme.

Certains scénarios où vous souhaiterez peut-être effectuer une estimation à partir d’estimations précalculées :

  • Vous souhaitez essayer un algorithme nouveau décrit dans un document pour vérifier s’il améliore les performances de votre programme. Vous pouvez prendre des estimations du document et les incorporer dans le programme.
  • Vous souhaitez développer un programme en haut vers le bas, c’est-à-dire commencer à développer à partir de la fonction principale, puis implémenter des niveaux inférieurs. Vous pouvez utiliser les estimations connues au niveau supérieur avec des estimations attendues pour l’ensemble du programme. À mesure que le processus de développement progresse, de nouveaux composants commencent à appeler les estimations connues et les estimations attendues sont remplacés par l’implémentation réelle. De cette façon, les estimations de l’ensemble du programme sont connues et sont plus précises au fur et à mesure que le développement progresse.

Vous pouvez utiliser l’opération AccountForEstimatesQ# pour transmettre des estimations connues à l’estimateur de ressources.

Remarque

L’opération AccountForEstimates spéciale est une opération intrinsèque pour l’estimateur de ressources. Elle n’est pas prise en charge par d’autres exécutions targets.

Par exemple, considérez l’opération suivante Q# appelée FactoringFromLogicalCounts qui prend une liste d’estimations connues et une liste de qubits.

import Microsoft.Quantum.ResourceEstimation.*;

operation FactoringFromLogicalCounts() : Unit {
    use qubits = Qubit[12581];

    AccountForEstimates(
        [TCount(12), RotationCount(12), RotationDepth(12),
         CczCount(3731607428), MeasurementCount(1078154040)],
        PSSPCLayout(), qubits);
}

L’opération AccountForEstimates peut prendre les paramètres suivants :

Fonctions avec AccountForEstimates Description
AuxQubitCount(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que le nombre de qubits auxiliaires est égal au amount.
TCount(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que le nombre de portes T est égal à .amount
MeasurementCount(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que le nombre de mesures est égal au amount.
RotationCount(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que le nombre de rotations est égal au amount.
RotationDepth(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que la profondeur de rotation est égale à la amountvaleur .
CczCount(amount : Int) Retourne un tuple qui peut être transmis à l’opération AccountForEstimates pour spécifier que le nombre de portes CCZ est égal à l’élément amount.
PSSPCLayout() Indiquez la disposition de calcul séquentiel pauli de synthèse parallèle (PSSPC). Pour plus d’informations, consultez arXiv :2211.0769.

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.