Compartir a través de


Descripción de los datos de resultados del estimador de recursos

Aprenda a interpretar y recuperar los parámetros y diagramas de salida del estimador de recursos. En este artículo se explica cómo acceder mediante programación a los resultados del estimador de recursos en Jupyter Notebooks. Si ejecuta el estimador de recursos en Visual Studio Code desde la paleta de comandos, no se aplican los siguientes comandos.

Requisitos previos

Parámetros de salida

Los datos de salida del estimador de recursos son un informe que se imprime en la consola y se puede acceder a ellos mediante programación. Por ejemplo, el siguiente fragmento de código muestra cómo acceder a los parámetros de estimación de recursos.

result['jobParams']

Los siguientes datos de salida constituyen las posibles entradas a las que se puede acceder mediante programación.

Parámetro de salida de nivel superior Tipo de datos Descripción
status string El estado del trabajo, siempre Succeededes .
jobParams diccionario Parámetros target del trabajo que se pasan como entrada.
physicalCounts diccionario Estimaciones de recursos físicos. Para obtener más información, consulte Recuentos físicos.
physicalCountsFormatted diccionario Las estimaciones de recursos físicos con formato para mostrarse en los datos del informe. Para obtener más información, consulte Recuentos físicos con formato.
logicalQubit diccionario Propiedades de cúbit lógico. Para obtener más información, consulte Qubit lógico.
tfactory diccionario Las propiedades del generador de T.
logicalCounts diccionario Estimaciones de recursos lógicos de diseño previo. Para obtener más información, consulte Recuentos lógicos.
reportData diccionario Datos de generación para el informe de estimación de recursos.

Recuentos físicos

El physicalCounts diccionario contiene las siguientes entradas:

Parámetro de salida Tipo de datos Descripción
physicalQubits number Número total de cúbits físicos.
runtime number Tiempo de ejecución total para ejecutar el algoritmo en nanosegundos.
rqops number Número de operaciones cuánticas confiables por segundo (QOPS).
breakdown diccionario Desglose de estimaciones. Para obtener más información, consulte Desglose de recuentos físicos.

Desglose de recuentos físicos

El breakdown diccionario de physicalCounts contiene las siguientes entradas:

Parámetro de salida Tipo de datos Descripción
algorithmicLogicalQubits number Los cúbits lógicos necesarios para ejecutar el algoritmo y no incluyen recursos para factorías de T.
algorithmicLogicalDepth number Los ciclos lógicos necesarios para ejecutar el algoritmo y no incluyen recursos para factorías de T.
logicalDepth number El número posiblemente ajustado de ciclos que se calcula cada vez que el tiempo de ejecución de la factoría de T es más rápido, la ejecución del algoritmo.
numTstates number Número de estados T consumidos por el algoritmo.
clockFrequency number Número de ciclos lógicos por segundo.
numTfactories number Número de fábricas de T (suponiendo diseño uniforme de fábrica de T).
numTfactoryRuns number Número de frecuencia con la que se deben ejecutar todas las factorías T paralelas.
physicalQubitsForTfactories number Número de cúbits físicos para todas las factorías de T.
physicalQubitsForAlgorithm number Número de cúbits físicos para el diseño del algoritmo.
requiredLogicalQubitErrorRate number Tasa de errores lógica necesaria.
requiredLogicalTstateErrorRate number Tasa de errores de estado T lógico necesaria.
numTsPerRotation number Número de puertas T por rotación.
cliffordErrorRate number Tasa de errores de Clifford basada en los parámetros de cúbit.

Recuentos físicos con formato

El physicalCountsFormatted diccionario contiene las siguientes entradas:

Parámetro de salida Tipo de datos Descripción
runtime string Tiempo de ejecución total como cadena de uso humano.
rqops string Número de operaciones cuánticas confiables por segundo (QOPS) con formato de sufijo de métrica.
physicalQubits string Número total de cúbits físicos con sufijo de métrica.
algorithmicLogicalQubits string Cúbits lógicos algorítmicos con sufijo de métrica.
algorithmicLogicalDepth string Profundidad lógica algorítmica con sufijo de métrica.
logicalDepth string Posiblemente se ajuste la profundidad lógica algorítmica con sufijo de métrica.
numTstates string Número de estados T con sufijo de métrica.
numTfactories string Número de copias de fábrica de T con sufijo de métrica.
numTfactoryRuns string Número de ejecuciones de generador de T con sufijo de métrica.
physicalQubitsForAlgorithm string Número de cúbits físicos para el algoritmo con sufijo de métrica.
physicalQubitsForTfactories string Número de cúbits físicos para factorías de T con sufijo de métrica.
physicalQubitsForTfactoriesPercentage string Número de cúbits físicos para todas las factorías de T en porcentaje al total.
requiredLogicalQubitErrorRate string Velocidad de error de cúbit lógico truncada.
requiredLogicalTstateErrorRate string Tasa de errores de estado T truncada.
physicalQubitsPerLogicalQubit string Número de cúbits físicos por cúbit lógico con sufijo de métrica.
logicalCycleTime string El tiempo del ciclo lógico de un cúbit lógico como una cadena que admite el usuario.
clockFrequency string Número de ciclos lógicos por segundo como una cadena que admite personas.
logicalErrorRate string Tasa de errores lógicos truncadas.
tfactoryPhysicalQubits string Número de cúbits físicos en la fábrica de T con sufijo de métrica (o mensaje que indica que no hay ningún generador de T).
tfactoryRuntime string El tiempo de ejecución de un único generador de T como cadena de compatibilidad humana (o mensaje que indica que no hay ningún generador de T).
numInputTstates string Número de estados de entrada T (o mensaje que indica que no hay ningún generador de T).
numUnitsPerRound string Número de unidades por destilación redonda, separadas por comas en una cadena (o mensaje que indica que no hay ningún generador de T).
unitNamePerRound string Los nombres de unidad de cada ronda de destilación, separadas por comas en una cadena (o mensaje que indica que no hay ningún generador de T).
codeDistancePerRound string Distancias de código por ronda de destilación, separadas por comas en una cadena (o mensaje que indica que no hay ningún generador de T).
physicalQubitsPerRound string Número de cúbits físicos por destilación, separados por comas en una cadena (o mensaje que no hay ningún generador de T).
tfactoryRuntimePerRound string El tiempo de ejecución de cada ronda de destilación, mostrado como cadenas humanas separadas por comas (o mensaje que indica que no hay ningún generador de T).
tstateLogicalErrorRate string Tasa de errores de estado T lógico truncado (o mensaje que indica que no hay ningún generador de T).
logicalCountsNumQubits string Número de cúbits (diseño previo) con sufijo de métrica.
logicalCountsTCount string Número de puertas T (diseño previo) con sufijo de métrica.
logicalCountsRotationCount string Número de puertas de rotación (diseño previo) con sufijo de métrica.
logicalCountsRotationDepth string Profundidad de rotación (diseño previo) con sufijo de métrica.
logicalCountsCczCount string Número de puertas CCZ (diseño previo) con sufijo de métrica.
logicalCountsCcixCount string Número de puertas de CCiX (diseño previo) con sufijo de métrica.
logicalCountsMeasurementCount string Número de medidas de un solo cúbit (diseño previo) con sufijo de métrica.
errorBudget string Presupuesto total de errores truncado.
errorBudgetLogical string Presupuesto de errores truncado para el error lógico.
errorBudgetTstates string Presupuesto de errores truncado para la destilación de estado T defectuoso.
errorBudgetRotations string Presupuesto de errores truncado para la síntesis de rotación errónea.
numTsPerRotation string Número con formato de Ts por rotación (puede ser Ninguno).

Cúbit lógico

El logicalQubit diccionario contiene las siguientes entradas:

Parámetro de salida Tipo de datos Descripción
codeDistance number Distancia de código calculada para el cúbit lógico.
physicalQubits number Número de cúbits físicos para cada cúbit lógico.
logicalCycleTime number Tiempo para ejecutar una operación lógica.
logicalErrorRate number Velocidad de error lógica del cúbit lógico.

Recuentos lógicos

El logicalCounts diccionario contiene las siguientes entradas:

Parámetro de salida Tipo de datos Descripción
numQubits number Número de cúbits de diseño previo.
tCount number Número de puertas T de diseño previo.
rotationCount number Número previo de diseño de puertas de rotación.
rotationDepth number Profundidad de rotación de diseño previo.
cczCount number Número de preproceso de puertas CCZ.
ccixCount number Número de preproceso de puertas CCiX.
measurementCount number Número de diseños previos de medidas de un solo cúbit.

Sugerencia

Si desea usar un conjunto calculado previamente de recuentos lógicos para un trabajo de estimación de recursos, puede usar la LogicalCounts operación de Python para pasar las estimaciones conocidas al Estimador de recursos. Para obtener más información, consulte Uso de estimaciones conocidas con el estimador de recursos.

Diagrama de espacio

La estimación general de recursos físicos consta del número total de cúbits físicos usados para las copias del algoritmo y del generador de T. Puede inspeccionar la distribución entre estos dos mediante el diagrama de espacio.

El diagrama de espacio muestra la proporción de los cúbits físicos usados para el algoritmo y las factorías de T. Tenga en cuenta que el número de copias de fábrica T contribuye al número de cúbits físicos para las fábricas T.

En Jupyter Notebook, puede acceder al diagrama de espacio mediante el SpaceChart widget desde el qsharp-widgets paquete.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

Diagrama circular que muestra la distribución de cúbits físicos totales entre cúbits de algoritmo y cúbits de fábrica de T. Hay una tabla con el desglose del número de copias de fábrica de T y el número de cúbits físicos por factoría de T.

Al ejecutar varias configuraciones de parámetros con la estimación de target frontera de Pareto, puede trazar el diagrama de espacio para una solución específica de . Por ejemplo, el código siguiente muestra cómo trazar el diagrama de espacio para la primera configuración de parámetros y el tercer tiempo de ejecución más corto.

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime

Diagrama de tiempo espaciador

En la computación cuántica, hay un equilibrio entre el número de cúbits físicos y el tiempo de ejecución del algoritmo. Podría considerar la asignación de tantos cúbits físicos como sea posible para reducir el tiempo de ejecución del algoritmo. Sin embargo, el número de cúbits físicos está limitado por el número de cúbits físicos disponibles en el hardware cuántico. Comprender el equilibrio entre el tiempo de ejecución y la escala del sistema es uno de los aspectos más importantes de la estimación de recursos.

Al calcular los recursos de un algoritmo, puede usar el diagrama de tiempo espaciado para visualizar los inconvenientes entre el número de cúbits físicos y el tiempo de ejecución del algoritmo.

Nota:

Para ver varias combinaciones óptimas en el diagrama de tiempo espacial, debe establecer el tipo de estimación en Estimación de frontera de Pareto. Si ejecuta el estimador de recursos en Visual Studio Code mediante la Q#opción : Calcular estimaciones de recursos, la estimación de frontera de Pareto está habilitada de forma predeterminada.

El diagrama de tiempo espaciado permite encontrar la combinación óptima de {número de cúbits, pares runtime} que satisfacen las restricciones del hardware cuántico. El diagrama muestra el número de cúbits físicos y el tiempo de ejecución del algoritmo para cada par {número de cúbits, runtime}.

Para ejecutar el diagrama de tiempo espacial en Jupyter Notebook, puede usar el EstimatesOverview widget desde el qsharp-widgets paquete.

import qsharp

from qsharp_widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

Captura de pantalla que muestra el diagrama de tiempo de cúbit del estimador de recursos.

Sugerencia

Para ver los detalles de la estimación, puede mantener el puntero sobre cada punto del diagrama.

El diagrama de tiempo espaciado es especialmente útil al comparar varias configuraciones de target parámetros para el mismo algoritmo.

Captura de pantalla que muestra el diagrama de tiempo espaciador y la tabla de resultados al ejecutar varias configuraciones de parámetro en el Estimador de recursos.

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.

Pasos siguientes