Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как интерпретировать и извлекать выходные параметры и схемы оценки ресурсов. В этой статье объясняется, как программно получить доступ к результатам оценки ресурсов в Jupyter Notebook в Visual Studio Code.
Предварительные требования
Среда Python с установленными Python и Pip.
Последняя версия Visual Studio Code или откройте VS Code в Интернете.
VS Code с установленными расширениями для Azure Quantum Development Kit, Python и Jupyter.
Последние версии пакетов Azure Quantum
qsharp
иqsharp-widgets
.python -m pip install --upgrade qsharp qsharp-widgets
Примечание.
Если вы запускаете средство оценки ресурсов в Visual Studio Code из палитры команд, следующие команды не применяются. Для получения дополнительной информации см. различные способы использования Оценщика ресурсов.
Выходные параметры
Выходные данные оценки ресурсов — это отчет, который печатается в консоли и может быть доступен программным способом. Например, в следующем фрагменте кода показано, как получить доступ к параметрам оценки ресурсов.
result['jobParams']
Следующие выходные данные представляют собой возможные записи, к которым можно получить доступ программным способом.
Выходной параметр верхнего уровня | Тип данных | Описание |
---|---|---|
status |
строка | Статус задания, он всегда Succeeded . |
jobParams |
словарь | Параметры target задания, передаваемые в качестве входных данных. |
physicalCounts |
словарь | Оценки физического ресурса. Дополнительные сведения см. в разделе "Физические счетчики". |
physicalCountsFormatted |
словарь | Оценки физического ресурса, отформатированные для отображения в данных отчета. Дополнительные сведения см. в разделе «Отформатированные физические счетчики». |
logicalQubit |
словарь | Свойства логического кубита. Дополнительные сведения см. в "Логический кубит". |
tfactory |
словарь | Свойства фабрики T. |
logicalCounts |
словарь | Оценки логического ресурса предварительного макета. Дополнительные сведения см. в разделе «Логические счетчики». |
reportData |
словарь | Создание данных для отчета о оценке ресурсов. |
Физические счетчики
Словарь physicalCounts
содержит следующие записи:
Выходной параметр | Тип данных | Описание |
---|---|---|
physicalQubits |
номер | Общее количество физических кубитов. |
runtime |
номер | Общее время выполнения алгоритма в наносекундах. |
rqops |
номер | Количество надежных квантовых операций в секунду (QOPS). |
breakdown |
словарь | Разбивка по оценкам. Дополнительные сведения см. в разделе "Подробное распределение физических подсчетов". |
Разбивка физических счетчиков
Словарь breakdown
physicalCounts
содержит следующие записи:
Выходной параметр | Тип данных | Описание |
---|---|---|
algorithmicLogicalQubits |
номер | Логические кубиты, необходимые для выполнения алгоритма, не включают ресурсы для фабрик T. |
algorithmicLogicalDepth |
номер | Логические циклы, необходимые для выполнения алгоритма, не включают ресурсы для фабрик T. |
logicalDepth |
число | Возможное количество скорректированных циклов, вычисляемое всякий раз, когда время выполнения фабрики T быстрее, чем выполнение алгоритма. |
numTstates |
номер | Количество состояний T, потребляемых алгоритмом. |
clockFrequency |
число | Число логических циклов в секунду. |
numTfactories |
число | Число фабрик T (при условии унифицированного дизайна фабрик T). |
numTfactoryRuns |
число | Количество частоты запуска всех параллельных фабрик T. |
physicalQubitsForTfactories |
число | Количество физических кубитов для всех фабрик T. |
physicalQubitsForAlgorithm |
номер | Количество физических кубитов для макета алгоритма. |
requiredLogicalQubitErrorRate |
номер | Требуемая логическая частота ошибок. |
requiredLogicalTstateErrorRate |
номер | Требуемая скорость ошибки логического состояния T. |
numTsPerRotation |
номер | Количество ворот T на один цикл вращения. |
cliffordErrorRate |
номер | Частота ошибок Clifford на основе параметров кубита. |
Форматированные физические счетчики
Словарь physicalCountsFormatted
содержит следующие записи:
Выходной параметр | Тип данных | Описание |
---|---|---|
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 на один оборот (может быть None). |
Логический кубит
Словарь logicalQubit
содержит следующие записи:
Выходной параметр | Тип данных | Описание |
---|---|---|
codeDistance |
число | Вычисленное расстояние кода для логического кубита. |
physicalQubits |
номер | Количество физических кубитов для каждого логического кубита. |
logicalCycleTime |
номер | Время выполнения одной логической операции. |
logicalErrorRate |
число | Частота логических ошибок логического кубита. |
Логические счётчики
словарь logicalCounts
содержит следующие записи:
Выходной параметр | Тип данных | Описание |
---|---|---|
numQubits |
число | Предварительное количество кубитов. |
tCount |
число | Предварительный номер макета ворот T. |
rotationCount |
номер | Предварительный номер макета вращаемых ворот. |
rotationDepth |
число | Глубина поворота предварительного макета. |
cczCount |
номер | Номер предварительного макета ворот CCZ. |
ccixCount |
число | Номер предварительного макета шлюзов CCiX. |
measurementCount |
число | Предварительное количество измерений с одним кубитом. |
Совет
Если вы хотите использовать предварительно рассчитанный набор логических счетчиков для задания оценки ресурсов, вы можете использовать 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
Диаграмма пространства-времени
В квантовых вычислениях существует компромисс между количеством физических кубитов и средой выполнения алгоритма. Можно рассмотреть возможность выделения максимально возможного количества физических кубитов, чтобы сократить время выполнения алгоритма. Однако количество физических кубитов ограничено количеством физических кубитов, доступных в квантовом оборудовании. Понимание компромисса между средой выполнения и системным масштабированием является одним из более важных аспектов оценки ресурсов.
При оценке ресурсов алгоритма можно использовать схему пространства времени для визуализации компромиссов между количеством физических кубитов и средой выполнения алгоритма.
Примечание.
Чтобы увидеть несколько оптимальных сочетаний на пространственно-временной диаграмме, необходимо задать тип оценки на границу Парето. Если вы запускаете оценщик ресурсов в Visual Studio Code с параметром
Диаграмма пространство-времени позволяет найти оптимальное сочетание пар {число кубитов, время выполнения}, удовлетворяющих ограничениям квантового оборудования. На схеме показано количество физических кубитов и время выполнения алгоритма для каждой пары {число кубитов, среда выполнения}.
Чтобы запустить диаграмму пространства-времени в Jupyter Notebook, можно использовать виджет
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Снимок экрана, показывающий диаграмму зависимости кубита от времени в оценивателе ресурсов.
Совет
Чтобы просмотреть сведения о оценке, можно навести указатель мыши на каждую точку на схеме.
Пространственно-временная диаграмма специально полезна при сравнении нескольких конфигураций target параметров для одного и того же алгоритма.
Снимок экрана: пространственно-временная диаграмма и таблица результатов при запуске нескольких конфигураций параметров в оценщике ресурсов.
Примечание.
Если при работе с оценщиком ресурсов возникла проблема, ознакомьтесь со страницей "Устранение неполадок" или свяжитесь с AzureQuantumInfo@microsoft.com.