Descripción de los datos de resultado del estimador de recursos
Obtenga información sobre cómo interpretar y recuperar los parámetros de salida y los diagramas 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
Un entorno de Python con Python y Pip instalado.
La versión más reciente de Visual Studio Code o abra VS Code en la Web.
VS Code con las extensiones de Azure Quantum Development Kit, Python y Jupyter instaladas.
Los paquetes y
qsharp-widgets
Azure Quantumqsharp
más recientes.python -m pip install --upgrade qsharp qsharp-widgets
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['job_params']
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 Succeeded es . |
job_params |
diccionario | Parámetros target del trabajo que se pasan como entrada. |
physical_counts |
diccionario | Los recursos físicos calculan. Para obtener más información, consulte Recuentos físicos. |
physical_counts_formatted |
diccionario | Los recursos físicos calculan el formato para mostrarlos en los datos del informe. Para obtener más información, consulte Recuentos físicos con formato. |
logical_qubit |
diccionario | Propiedades de cúbit lógico. Para más información, consulte Qubit lógico. |
tfactory |
diccionario | Las propiedades de fábrica de T. |
logical_counts |
diccionario | Las estimaciones de recursos lógicos de diseño previo. Para más información, consulte Recuentos lógicos. |
report_data |
diccionario | Datos de generación para el informe de estimación de recursos. |
Recuentos físicos
El physical_counts
diccionario contiene las siguientes entradas:
Parámetro de salida | Tipo de datos | Descripción |
---|---|---|
physical_qubits |
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 physical_counts
contiene las siguientes entradas:
Parámetro de salida | Tipo de datos | Descripción |
---|---|---|
algorithmic_logical_qubits |
number | Los cúbits lógicos necesarios para ejecutar el algoritmo y no incluyen recursos para factorías de T. |
algorithmic_logical_depth |
number | Los ciclos lógicos necesarios para ejecutar el algoritmo y no incluyen recursos para factorías de T. |
logical_depth |
number | El número posiblemente ajustado de ciclos que se calcula cada vez que el tiempo de ejecución del generador de T es más rápido y, a continuación, la ejecución del algoritmo. |
num_tstates |
number | Número de estados T consumidos por el algoritmo. |
clock_frequency |
number | Número de ciclos lógicos por segundo. |
num_tfactories |
number | Número de fábricas de T (suponiendo un diseño uniforme de fábrica de T). |
num_tfactory_runs |
number | Número de frecuencia con la que se deben ejecutar todas las factorías T paralelas. |
physical_qubits_for_tfactories |
number | Número de cúbits físicos para todas las fábricas de T. |
physical_qubits_for_algorithm |
number | Número de cúbits físicos para el diseño del algoritmo. |
required_logical_qubit_error_rate |
number | Tasa de errores lógica necesaria. |
required_logical_tstate_error_rate |
number | Tasa de errores de estado T lógico requerida. |
num_ts_per_rotation |
number | Número de puertas T por rotación. |
clifford_error_rate |
number | La tasa de errores de Clifford en función de los parámetros de cúbit. |
Recuentos físicos con formato
El physical_counts_formatted
diccionario contiene las siguientes entradas:
Parámetro de salida | Tipo de datos | Descripción |
---|---|---|
runtime |
string | Tiempo de ejecución total como cadena fácil de usar. |
rqops |
string | Número de operaciones cuánticas confiables por segundo (QOPS) con formato de sufijo de métrica. |
physical_qubits |
string | Número total de cúbits físicos con sufijo de métrica. |
algorithmic_logical_qubits |
string | Cúbits lógicos algorítmicos con sufijo de métrica. |
algorithmic_logical_depth |
string | Profundidad lógica algorítmica con sufijo de métrica. |
logical_depth |
string | Profundidad lógica algorítmica posiblemente ajustada con sufijo de métrica. |
num_tstates |
string | Número de estados T con sufijo de métrica. |
num_tfactories |
string | Número de copias de fábrica de T con sufijo de métrica. |
num_tfactory_runs |
string | Número de ejecuciones de fábrica de T con sufijo de métrica. |
physical_qubits_for_algorithm |
string | Número de cúbits físicos para el algoritmo con sufijo de métrica. |
physical_qubits_for_tfactories |
string | Número de cúbits físicos para fábricas de T con sufijo de métrica. |
physical_qubits_for_tfactories_percentage |
string | Número de cúbits físicos de todas las fábricas de T en porcentaje al total. |
required_logical_qubit_error_rate |
string | Tasa de errores de cúbit lógico truncado. |
required_logical_tstate_error_rate |
string | Tasa de errores de estado T truncado. |
physical_qubits_per_logical_qubit |
string | Número de cúbits físicos por cúbit lógico con sufijo de métrica. |
logical_cycle_time |
string | El tiempo del ciclo lógico de un cúbit lógico como cadena de compatibilidad humana. |
clock_frequency |
string | El número de ciclos lógicos por segundo como una cadena descriptivos humanas. |
logical_error_rate |
string | Tasa de errores lógicos truncados. |
tfactory_physical_qubits |
string | Número de cúbits físicos en el generador de T con sufijo de métrica (o mensaje que indica que no hay ningún generador de T). |
tfactory_runtime |
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). |
num_input_tstates |
string | Número de estados de entrada T (o mensaje que indica que no hay ningún generador de T). |
num_units_per_round |
string | Número de unidades por ronda de destilación, separadas por comas en una cadena (o mensaje que indica que no hay fábrica T). |
unit_name_per_round |
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). |
code_distance_per_round |
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 T). |
physical_qubits_per_round |
string | Número de cúbits físicos por ronda de destilación, separadas por comas en una cadena (o mensaje que indica que no hay ningún generador de T). |
tfactory_runtime_per_round |
string | El tiempo de ejecución de cada ronda de destilación, que se muestra como cadenas humanas separadas por comas (o mensaje que indica que no hay ninguna fábrica T). |
tstate_logical_error_rate |
string | Tasa de errores de estado T lógico truncado (o mensaje que indica que no hay ningún generador de T). |
logical_counts_num_qubits |
string | Número de cúbits (diseño previo) con sufijo de métrica. |
logical_counts_t_count |
string | Número de puertas T (diseño previo) con sufijo de métrica. |
logical_counts_rotation_count |
string | Número de puertas de rotación (diseño previo) con sufijo de métrica. |
logical_counts_rotation_depth |
string | Profundidad de rotación (diseño previo) con sufijo de métrica. |
logical_counts_ccz_count |
string | Número de puertas CCZ (diseño previo) con sufijo de métrica. |
logical_counts_ccix_count |
string | Número de puertas CCiX (diseño previo) con sufijo de métrica. |
logical_counts_measurement_count |
string | Número de medidas de un solo cúbit (diseño previo) con sufijo de métrica. |
error_budget |
string | Presupuesto total de errores truncado. |
error_budget_logical |
string | Presupuesto de errores truncado para el error lógico. |
error_budget_tstates |
string | Presupuesto de errores truncado para la destilación de estado T defectuoso. |
error_budget_rotations |
string | Presupuesto de errores truncado para la síntesis de rotación errónea. |
num_ts_per_rotation |
string | Número con formato de Ts por rotación (podría ser Ninguno). |
Cúbit lógico
El logical_qubit
diccionario contiene las siguientes entradas:
Parámetro de salida | Tipo de datos | Descripción |
---|---|---|
code_distance |
number | Distancia de código calculada para el cúbit lógico. |
physical_qubits |
number | Número de cúbits físicos para cada cúbit lógico. |
logical_cycle_time |
number | Tiempo para ejecutar una operación lógica. |
logical_error_rate |
number | Tasa de errores lógicos del cúbit lógico. |
Recuentos lógicos
El logical_counts
diccionario contiene las siguientes entradas:
Parámetro de salida | Tipo de datos | Descripción |
---|---|---|
num_qubits |
number | Número previo al diseño de cúbits. |
t_count |
number | Número de puertas T de diseño previo. |
rotation_count |
number | Número previo al diseño de puertas de rotación. |
rotation_depth |
number | Profundidad de rotación de diseño previo. |
ccz_count |
number | Número de pre-diseño de puertas CCZ. |
ccix_count |
number | Número previo al diseño de puertas de CCiX. |
measurement_count |
number | Número previo al diseño de medidas de un solo cúbit. |
Diagrama de espacio
La estimación general de recursos físicos consta del número total de cúbits físicos usados para el algoritmo y las copias de fábrica 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 de T contribuye al número de cúbits físicos para las fábricas de 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)
Al ejecutar varias configuraciones de target parámetros con la estimación de 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, existe 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 espaciado, 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 en tiempo de ejecución} que satisfacen las restricciones del hardware cuántico. En el diagrama se 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, tiempo de ejecución}.
Para ejecutar el diagrama de tiempo espaciador en Jupyter Notebook, puede usar el EstimatesOverview
widget del qsharp-widgets
paquete.
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
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.
Nota
Si tiene algún problema mientras trabaja con el Estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.
Pasos siguientes
- Ejecución de la primera estimación de recursos
- Personalización de las estimaciones de recursos en las características de la máquina
- Diferentes formas de ejecutar el estimador de recursos
- Control de programas de gran tamaño con el estimador de recursos
- Tutorial: Estimación de los recursos de un problema de química cuántica
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de