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
- La última versión de Visual Studio Code o abrir VS Code en la Web.
- La última versión de la extensión Kit de desarrollo de Azure Quantum. Para obtener más información sobre la instalación, consulte Instalación del QDK en VS Code.
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 AccountForEstimates
Q# 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.