Поделиться через


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

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

Необходимые компоненты

Выходные параметры

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

result['jobParams']

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

Выходной параметр верхнего уровня Тип данных Description
status строка Состояние задания всегда Succeeded.
jobParams dictionary Параметры target задания, передаваемого в качестве входных данных.
physicalCounts dictionary Оценки физического ресурса. Дополнительные сведения см. в разделе "Физические счетчики".
physicalCountsFormatted dictionary Оценки физического ресурса, отформатированные для отображения в данных отчета. Дополнительные сведения см. в разделе "Физические счетчики", отформатированные.
logicalQubit dictionary Свойства логического кубита. Дополнительные сведения см. в разделе "Логический кубит".
tfactory dictionary Свойства фабрики T.
logicalCounts dictionary Оценки логического ресурса предварительного макета. Дополнительные сведения см. в разделе "Логические счетчики".
reportData dictionary Создание данных для отчета о оценке ресурсов.

Физические счетчики

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

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

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

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

Выходной параметр Тип данных Description
algorithmicLogicalQubits number Логические кубиты, необходимые для выполнения алгоритма, не включают ресурсы для фабрик T.
algorithmicLogicalDepth number Логические циклы, необходимые для выполнения алгоритма, и не включают ресурсы для фабрик T.
logicalDepth number Возможно, скорректированное количество циклов, вычисляемых всякий раз, когда время выполнения фабрики T ускоряется, а затем выполняется алгоритм.
numTstates number Количество состояний T, потребляемых алгоритмом.
clockFrequency number Число логических циклов в секунду.
numTfactories number Число фабрик T (при условии, что унифицированный дизайн фабрики T).
numTfactoryRuns number Количество частоты запуска всех параллельных фабрик T.
physicalQubitsForTfactories number Количество физических кубитов для всех фабрик T.
physicalQubitsForAlgorithm number Количество физических кубитов для макета алгоритма.
requiredLogicalQubitErrorRate number Требуемая логическая частота ошибок.
requiredLogicalTstateErrorRate number Требуемая скорость ошибки логического состояния T.
numTsPerRotation number Количество ворот T на поворот.
cliffordErrorRate number Частота ошибок Clifford на основе параметров кубита.

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

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

Выходной параметр Тип данных Description
runtime строка Общая среда выполнения в виде понятной для человека строки.
rqops строка Число надежных квантовых операций в секунду (QOPS), отформатированных с суффиксом метрик.
physicalQubits строка Общее количество физических кубитов с суффиксом метрик.
algorithmicLogicalQubits строка Алгоритмические логические кубиты с суффиксом метрик.
algorithmicLogicalDepth строка Алгоритмическая логическая глубина с суффиксом метрик.
logicalDepth строка Возможно, скорректированная алгоритмическая логическая глубина с суффиксом метрик.
numTstates строка Число состояний T с суффиксом метрик.
numTfactories строка Число копий фабрики T с суффиксом метрик.
numTfactoryRuns строка Количество запусков фабрики T с суффиксом метрик.
physicalQubitsForAlgorithm строка Количество физических кубитов для алгоритма с суффиксом метрик.
physicalQubitsForTfactories строка Количество физических кубитов для фабрик T с суффиксом метрик.
physicalQubitsForTfactoriesPercentage строка Количество физических кубитов для всех фабрик T в процентах от общего числа.
requiredLogicalQubitErrorRate строка Усеченная требуемая логическая скорость ошибки кубита.
requiredLogicalTstateErrorRate строка Усеченная требуемая частота ошибок состояния T.
physicalQubitsPerLogicalQubit строка Количество физических кубитов на логический кубит с суффиксом метрик.
logicalCycleTime строка Время логического цикла логического кубита в виде понятной для человека строки.
clockFrequency строка Число логических циклов в секунду в виде понятной для человека строки.
logicalErrorRate строка Усеченная логическая частота ошибок.
tfactoryPhysicalQubits строка Количество физических кубитов в фабрике T с суффиксом метрик (или сообщением о отсутствии фабрики T).
tfactoryRuntime строка Среда выполнения одной фабрики T в виде понятной для человека строки (или сообщение о отсутствии фабрики T).
numInputTstates строка Количество входных состояний T (или сообщение о отсутствии фабрики T).
numUnitsPerRound строка Количество единиц на цикл дистилляции, разделенный запятыми в строке (или сообщение о отсутствии фабрики T).
unitNamePerRound строка Имена единиц каждого раунда дистилляции, разделенные запятыми в строке (или сообщение о отсутствии фабрики T).
codeDistancePerRound строка Расстояние кода на цикл дистилляции, разделенный запятыми в строке (или сообщение о отсутствии фабрики T).
physicalQubitsPerRound строка Количество физических кубитов на цикл дистилляции, разделенное запятыми в строке (или сообщение о отсутствии фабрики T).
tfactoryRuntimePerRound строка Среда выполнения каждого раунда дистилляции, отображаемая в виде запятых, разделенных понятными для человека строками (или сообщением о отсутствии фабрики T).
tstateLogicalErrorRate строка Усеченная логическая частота ошибок состояния T (или сообщение о отсутствии фабрики T).
logicalCountsNumQubits строка Количество кубитов (предварительная разметка) с суффиксом метрик.
logicalCountsTCount строка Число шлюзов T (предварительная макет) с суффиксом метрик.
logicalCountsRotationCount строка Количество ворот поворота (предварительная разметка) с суффиксом метрик.
logicalCountsRotationDepth строка Глубина поворота (предварительная макет) с суффиксом метрик.
logicalCountsCczCount строка Количество шлюзов CCZ (предварительная макет) с суффиксом метрик.
logicalCountsCcixCount строка Число шлюзов CCiX (предварительная макет) с суффиксом метрик.
logicalCountsMeasurementCount строка Количество измерений с одним кубитом (предварительная структура) с суффиксом метрик.
errorBudget строка Усеченный общий бюджет ошибок.
errorBudgetLogical строка Усеченный бюджет ошибок для логической ошибки.
errorBudgetTstates строка Усеченный бюджет ошибки для неисправной дистилляции состояния T.
errorBudgetRotations строка Усеченный бюджет ошибок для синтеза неисправного вращения.
numTsPerRotation строка Отформатированного числа Ts на поворот (может быть нет).

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

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

Выходной параметр Тип данных Description
codeDistance number Вычисленное расстояние кода для логического кубита.
physicalQubits number Количество физических кубитов для каждого логического кубита.
logicalCycleTime number Время выполнения одной логической операции.
logicalErrorRate number Частота логических ошибок логического кубита.

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

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

Выходной параметр Тип данных Description
numQubits number Предварительное количество кубитов.
tCount number Предварительный номер макета ворот T.
rotationCount number Предварительный номер макета вращаемых ворот.
rotationDepth number Глубина поворота предварительного макета.
cczCount number Номер предварительного макета ворот CCZ.
ccixCount number Номер предварительного макета шлюзов CCiX.
measurementCount number Предварительное количество измерений с одним кубитом.

Совет

Если вы хотите использовать предварительно вычисляемый набор логических счетчиков для задания оценки ресурсов, можно использовать LogicalCounts операцию Python для передачи известных оценок в оценщик ресурсов. Дополнительные сведения см. в разделе "Использование известных оценок" с помощью средства оценки ресурсов.

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

Общая оценка физического ресурса состоит из общего количества физических кубитов, используемых для копирования алгоритма и фабрики 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

Схема времени

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

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

Примечание.

Чтобы увидеть несколько оптимальных сочетаний на схеме времени, необходимо задать тип оценки для оценки границ Pareto. Если вы запускаете средство оценки ресурсов в 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

Следующие шаги