Comment utiliser des estimations connues avec l’estimateur de ressources

Dans cet article, vous allez apprendre à utiliser des estimations précalcalé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 de Python et les extensions Jupyter pour VS Code.

  • Le 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 d’une opération, par exemple à partir d’un document publié, une façon de réduire le temps d’exécution consiste à prendre les estimations connues et à les incorporer dans le coût global du programme.

Voici quelques scénarios dans lesquels vous souhaiterez peut-être effectuer une estimation à partir d’estimations précalcalées :

  • Vous souhaitez essayer un nouvel algorithme décrit dans un article pour case activée 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 le programme de haut en bas, c’est-à-dire commencer à développer à partir de main fonction, puis implémenter des niveaux inférieurs. Vous pouvez utiliser les estimations connues au niveau supérieur avec les 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ées par l’implémentation réelle. De cette façon, les estimations pour l’ensemble du programme sont connues à l’avance et deviennent plus précises à mesure que le développement progresse.

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

Notes

L’opération AccountForEstimates spéciale est une opération intrinsèque pour l’estimateur de ressources. Il n’est pas pris 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.

open 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 passé à l’opération AccountForEstimates pour spécifier que le nombre de qubits auxiliaires est égal à .amount
TCount(amount : Int) Retourne un tuple qui peut être passé à 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 passé à l’opération AccountForEstimates pour spécifier que le nombre de mesures est égal à .amount
RotationCount(amount : Int) Retourne un tuple qui peut être passé à l’opération AccountForEstimates pour spécifier que le nombre de rotations est égal à .amount
RotationDepth(amount : Int) Retourne un tuple qui peut être passé à l’opération AccountForEstimates pour spécifier que la profondeur de rotation est égale à .amount
CczCount(amount : Int) Retourne un tuple qui peut être passé à l’opération AccountForEstimates pour spécifier que le nombre de portes CCZ est égal à .amount
PSSPCLayout() Indiquer la disposition PSSPC (Parallel Synthesis Sequential Pauli Computation). Pour plus d’informations, consultez arXiv :2211.0769.

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