Общие сведения о результирующих данных оценщика ресурсов
Узнайте, как интерпретировать и извлекать выходные параметры и схемы оценщика ресурсов. В этой статье объясняется, как программным способом получить доступ к результатам оценщика ресурсов в записных книжках Jupyter Notebook. Если вы запускаете оценщик ресурсов в Visual Studio Code из палитры команд, следующие команды не применяются.
Предварительные требования
Среда Python с установленными Python и Pip .
Последняя версия Visual Studio Code или откройте VS Code в Интернете.
VS Code с установленным пакетом средств разработки Azure Quantum, расширениями Python и Jupyter .
Последние пакеты и
qsharp-widgets
Azure Quantumqsharp
.python -m pip install --upgrade qsharp qsharp-widgets
Параметры вывода
Выходные данные оценщика ресурсов — это отчет, который печатается в консоли и доступен программным способом. Например, в следующем фрагменте кода показано, как получить доступ к параметрам оценки ресурсов.
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 |
словарь | Разбивка оценок. Дополнительные сведения см. в разделе Разбивка физических счетчиков. |
Разбивка физических счетчиков
Словарь breakdown
physical_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)
При выполнении нескольких конфигураций 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
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по