Compartir a través de


Uso de estimaciones conocidas con el estimador de recursos

En este artículo, aprenderá a usar estimaciones calculadas previamente y a optimizar la ejecución del estimador de recursos de Azure Quantum.

Para obtener información sobre cómo ejecutar el estimador de recursos, consulte Diferentes formas de ejecutar el estimador de recursos.

Requisitos previos

Si desea usar Python en VS Code, también necesita lo siguiente:

  • Instale la versión más reciente de las extensiones de Python y Jupyter para VS Code.

  • El paquete de Azure Quantum qsharp más reciente.

    python -m pip install --upgrade qsharp 
    

Uso de estimaciones conocidas para una operación

Si ya conoce algunas estimaciones de una operación, por ejemplo, de un documento publicado, una manera de reducir el tiempo de ejecución está tomando las estimaciones conocidas e incorporarlas al costo general del programa.

Algunos escenarios en los que es posible que desee realizar estimaciones calculadas previamente:

  • Quiere probar un algoritmo nuevo descrito en un documento para comprobar si mejora el rendimiento del programa. Puede tomar estimaciones del documento e incorporarlas al programa.
  • Quiere desarrollar el programa de arriba abajo, es decir, empezar a desarrollar a partir de la función principal y, a continuación, implementar niveles inferiores. Puede usar las estimaciones conocidas en el nivel superior con las estimaciones esperadas para todo el programa. A medida que avanza el proceso de desarrollo, los nuevos componentes comienzan a llamar a las estimaciones conocidas y las estimaciones esperadas se reemplazan por la implementación real. De esta manera, las estimaciones de todo el programa se conocen por adelantado y obtienen más precisión a medida que avanza el desarrollo.

Puede usar la AccountForEstimatesQ# operación para pasar estimaciones conocidas al Estimador de recursos.

Nota:

La operación especial es una operación AccountForEstimates intrínseca para el estimador de recursos. No es compatible con otra ejecución targets.

Por ejemplo, considere la siguiente Q# operación denominada FactoringFromLogicalCounts que toma una lista de estimaciones conocidas y una lista de cúbits.

import Microsoft.Quantum.ResourceEstimation.*;

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

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

La AccountForEstimates operación puede tomar los parámetros siguientes:

Funciones con AccountForEstimates Descripción
AuxQubitCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de cúbits auxiliares es igual a .amount
TCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de puertas T es igual a .amount
MeasurementCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de medidas es igual a .amount
RotationCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de rotaciones es igual a .amount
RotationDepth(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que la profundidad de rotación es igual a .amount
CczCount(amount : Int) Devuelve una tupla que se puede pasar a la AccountForEstimates operación para especificar que el número de puertas CCZ es igual a .amount
PSSPCLayout() Indica el diseño de Pauli Computation Secuencial de síntesis paralela (PSSPC). Para obtener más información, vea arXiv:2211.0769.

Nota:

Si tiene algún problema al trabajar con el estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.