Общие сведения о результирующих данных оценщика ресурсов

Узнайте, как интерпретировать и извлекать выходные параметры и схемы оценщика ресурсов. В этой статье объясняется, как программным способом получить доступ к результатам оценщика ресурсов в записных книжках Jupyter Notebook. Если вы запускаете оценщик ресурсов в Visual Studio Code из палитры команд, следующие команды не применяются.

Предварительные требования

Параметры вывода

Выходные данные оценщика ресурсов — это отчет, который печатается в консоли и доступен программным способом. Например, в следующем фрагменте кода показано, как получить доступ к параметрам оценки ресурсов.

result['job_params']

Следующие выходные данные представляют собой возможные записи, доступ к которым можно получить программным способом.

Выходной параметр верхнего уровня Тип данных Описание
status строка Состояние задания всегда равно Succeeded.
job_params словарь Параметры target задания, передаваемые в качестве входных данных.
physical_counts словарь Оценки физических ресурсов. Дополнительные сведения см. в разделе Количество физических данных.
physical_counts_formatted словарь Оценки физических ресурсов, отформатированные для отображения в данных отчета. Дополнительные сведения см. в разделе Отформатированные физические счетчики.
logical_qubit словарь Свойства логического кубита. Дополнительные сведения см. в разделе Логический кубит.
tfactory словарь Свойства фабрики T.
logical_counts словарь Оценки логического ресурса предварительного макета. Дополнительные сведения см. в разделе Логические счетчики.
report_data словарь Создание данных для отчета об оценке ресурсов.

Число физических данных

Словарь physical_counts содержит следующие записи:

Выходной параметр Тип данных Описание
physical_qubits number Общее количество физических кубитов.
runtime number Общая среда выполнения для выполнения алгоритма в наносекундах.
rqops number Количество надежных квантовых операций в секунду (QOPS).
breakdown словарь Разбивка оценок. Дополнительные сведения см. в разделе Разбивка физических счетчиков.

Разбивка физических счетчиков

Словарь breakdownphysical_counts содержит следующие записи:

Выходной параметр Тип данных Описание
algorithmic_logical_qubits number Логические кубиты, необходимые для выполнения алгоритма, не включают ресурсы для фабрик T.
algorithmic_logical_depth number Логические циклы, необходимые для выполнения алгоритма, не включают ресурсы для фабрик T.
logical_depth number Возможно скорректированное число циклов, которое вычисляется каждый раз, когда время выполнения фабрики T быстрее, чем выполнение алгоритма.
num_tstates number Количество состояний T, используемых алгоритмом.
clock_frequency number Количество логических циклов в секунду.
num_tfactories number Число фабрик T (при условии, что конструкция T-фабрики единообразно).
num_tfactory_runs number Количество частот выполнения всех параллельных фабрик T.
physical_qubits_for_tfactories number Количество физических кубитов для всех фабрик T.
physical_qubits_for_algorithm number Количество физических кубитов для макета алгоритма.
required_logical_qubit_error_rate number Требуемая частота логических ошибок.
required_logical_tstate_error_rate number Требуемая частота ошибок логического состояния T.
num_ts_per_rotation number Количество T-вентилей на поворот.
clifford_error_rate number Частота ошибок Клиффорда на основе параметров кубита.

Отформатированные физические счетчики

Словарь physical_counts_formatted содержит следующие записи:

Выходной параметр Тип данных Описание
runtime строка Общая среда выполнения в виде понятной для человека строки.
rqops строка Количество надежных квантовых операций в секунду (QOPS), отформатированных с суффиксом метрики.
physical_qubits строка Общее количество физических кубитов с суффиксом метрики.
algorithmic_logical_qubits строка Алгоритмические логические кубиты с суффиксом метрик.
algorithmic_logical_depth строка Алгоритмическая логическая глубина с суффиксом метрики.
logical_depth строка Возможно, скорректированная алгоритмическая логическая глубина с суффиксом метрики.
num_tstates строка Число состояний T с суффиксом метрики.
num_tfactories строка Число копий фабрики T с суффиксом метрики.
num_tfactory_runs строка Число запусков фабрики T с суффиксом метрики.
physical_qubits_for_algorithm строка Число физических кубитов для алгоритма с суффиксом метрики.
physical_qubits_for_tfactories строка Число физических кубитов для фабрик T с суффиксом метрики.
physical_qubits_for_tfactories_percentage строка Количество физических кубитов для всех фабрик T в процентах от общего числа.
required_logical_qubit_error_rate строка Усеченная требуемая частота ошибок логического кубита.
required_logical_tstate_error_rate строка Частота ошибок усеченного требуемого состояния T.
physical_qubits_per_logical_qubit строка Число физических кубитов на логический кубит с суффиксом метрики.
logical_cycle_time строка Время логического цикла логического кубита в виде понятной для человека строки.
clock_frequency строка Число логических циклов в секунду в виде понятной для человека строки.
logical_error_rate строка Частота усеченных логических ошибок.
tfactory_physical_qubits строка Число физических кубитов в фабрике T с суффиксом метрики (или сообщение об отсутствии фабрики T).
tfactory_runtime строка Среда выполнения одной фабрики T в виде понятной для человека строки (или сообщение об отсутствии фабрики T).
num_input_tstates строка Количество входных состояний T (или сообщение об отсутствии фабрики T).
num_units_per_round строка Количество единиц в цикле дистилляции, разделенные запятыми в строке (или сообщение об отсутствии фабрики T).
unit_name_per_round строка Имена единиц каждого раунда дистилляции, разделенные запятыми в строке (или сообщение об отсутствии фабрики T).
code_distance_per_round строка Расстояние кода на цикл дистилляции, разделенные запятыми в строке (или сообщение об отсутствии фабрики T).
physical_qubits_per_round строка Количество физических кубитов на цикл дистилляции, разделенных запятыми в строке (или сообщение об отсутствии фабрики T).
tfactory_runtime_per_round строка Среда выполнения каждого раунда дистилляции, отображаемая в виде разделенных запятыми понятных человеческих строк (или сообщение об отсутствии фабрики T).
tstate_logical_error_rate строка Частота ошибок усеченного логического состояния T (или сообщение об отсутствии фабрики T).
logical_counts_num_qubits строка Число кубитов (предварительная разметка) с суффиксом метрики.
logical_counts_t_count строка Число шлюзов T (предварительного макета) с суффиксом метрики.
logical_counts_rotation_count строка Число вентили поворота (предварительная разметка) с суффиксом метрики.
logical_counts_rotation_depth строка Глубина поворота (предварительная разметка) с суффиксом метрики.
logical_counts_ccz_count строка Количество вентили CCZ (предварительная разметка) с суффиксом метрики.
logical_counts_ccix_count строка Количество шлюзов CCiX (предварительного макета) с суффиксом метрики.
logical_counts_measurement_count строка Число однокубитных измерений (предварительная разметка) с суффиксом метрики.
error_budget строка Усеченный общий бюджет ошибок.
error_budget_logical строка Бюджет усеченных ошибок для логической ошибки.
error_budget_tstates строка Бюджет усеченной ошибки для неисправной дистилляции состояния T.
error_budget_rotations строка Бюджет усеченных ошибок для неисправного синтеза поворота.
num_ts_per_rotation строка Отформатировано число Ts на поворот (может иметь значение None).

Логический кубит

Словарь logical_qubit содержит следующие записи:

Выходной параметр Тип данных Описание
code_distance number Вычисленное расстояние кода для логического кубита.
physical_qubits number Количество физических кубитов для каждого логического кубита.
logical_cycle_time number Время выполнения одной логической операции.
logical_error_rate number Частота логических ошибок логического кубита.

Логические счетчики

Словарь logical_counts содержит следующие записи:

Выходной параметр Тип данных Описание
num_qubits number Предварительное количество кубитов макета.
t_count number Номер предварительного макета шлюзов T.
rotation_count number Предварительное количество вентили поворота.
rotation_depth number Глубина поворота макета.
ccz_count number Предварительный номер макета вентили CCZ.
ccix_count number Предварительное количество вентили CCiX.
measurement_count number Предварительное количество измерений с одним кубитом.

Схема пространства

Общая оценка физического ресурса состоит из общего количества физических кубитов, используемых для копий алгоритма и фабрики T. Вы можете проверить распределение между ними с помощью схемы пространства.

На схеме пространства показана доля физических кубитов, используемых для алгоритма и фабрик T. Обратите внимание, что количество копий фабрики T влияет на количество физических кубитов для фабрик T.

В Jupyter Notebook вы можете получить доступ к схеме пробелов с помощью мини-приложения SpaceChart из qsharp-widgets пакета.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

Круговая схема, показывающая распределение общего числа физических кубитов между кубитами алгоритма и T-фабритами. Существует таблица с разбивкой количества копий фабрики T и количества физических кубитов на фабрику T.

При выполнении нескольких конфигураций target параметров с оценкой границы Pareto можно построить схему пространства для конкретного решения . Например, в следующем коде показано, как отобразить схему пространства для первой конфигурации параметров и третьей самой короткой среды выполнения.

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

Пространственно-временная схема

В квантовых вычислениях существует компромисс между количеством физических кубитов и средой выполнения алгоритма. Можно рассмотреть возможность выделения как можно больше физических кубитов, чтобы уменьшить время выполнения алгоритма. Однако количество физических кубитов ограничено количеством физических кубитов, доступных в квантовом оборудовании. Понимание компромисса между средой выполнения и масштабом системы является одним из самых важных аспектов оценки ресурсов.

При оценке ресурсов алгоритма можно использовать схему пространства и времени для визуализации компромиссов между количеством физических кубитов и средой выполнения алгоритма.

Примечание

Чтобы увидеть несколько оптимальных сочетаний на схеме пространства-времени, необходимо задать тип оценки Парето границы. Если вы запускаете оценщик ресурсов в Visual Studio Code с помощью Q#параметра : Вычисление оценки ресурсов, оценка границы Pareto включена по умолчанию.

Схема пространства и времени позволяет найти оптимальное сочетание пар {число кубитов, среда выполнения}, удовлетворяющих ограничениям квантового оборудования. На схеме показано количество физических кубитов и среда выполнения алгоритма для каждой пары {число кубитов, среда выполнения}.

Чтобы выполнить схему пространства и времени в Jupyter Notebook, можно использовать EstimatesOverview мини-приложение из qsharp-widgets пакета.

import qsharp

from qsharp_widgets import EstimatesOverview

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

Снимок экрана: схема времени кубита оценщика ресурсов.

Совет

Чтобы просмотреть сведения об оценке, можно навести указатель мыши на каждую точку на схеме.

Схема пространства-времени особенно полезна при сравнении нескольких конфигураций target параметров для одного алгоритма.

Снимок экрана: схема пространства-времени и таблица результатов при выполнении нескольких конфигураций параметра в оценщике ресурсов.

Примечание

Если при работе с оценщиком ресурсов возникают проблемы, проверка страницу устранения неполадок или обратитесь в .AzureQuantumInfo@microsoft.com

Дальнейшие действия