Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как интерпретировать и извлекать выходные параметры и схемы оценки ресурсов. В этой статье объясняется, как программно получить доступ к результатам оценки ресурсов в записной книжке Jupyter в Visual Studio Code (VS Code).
Предварительные требования
Среда Python с установленными Python и Pip.
Последняя версия VS Code или откройте VS Code в Интернете.
VS Code с установленными расширениями для Azure Quantum Development Kit, Python и Jupyter.
Последняя
qdkбиблиотека Python сjupyterдополнительными возможностями.python -m pip install --upgrade qdk[jupyter]
Примечание.
Если вы запускаете средство оценки ресурсов в VS Code из палитры команд, то следующие команды не применяются. Для получения дополнительной информации см. различные способы использования Оценщика ресурсов.
Выходные параметры
Выходные данные из средства оценки ресурсов — это отчет, который печатается в консоли, и доступ к которому можно получить программным способом. Например, в следующем фрагменте кода отображаются значения всех параметров оценки ресурсов:
result['jobParams']
В следующей таблице содержится тип данных и краткое описание каждого выходного параметра.
| Выходной параметр верхнего уровня | Тип данных | Описание |
|---|---|---|
status |
строка | Статус задания, он всегда Succeeded. |
jobParams |
словарь | Параметры target задания, передаваемые в качестве входных данных. |
physicalCounts |
словарь | Оценки физического ресурса. Дополнительные сведения см. в разделе "Физические счетчики". |
physicalCountsFormatted |
словарь | Оценки физического ресурса, отформатированные для отображения в данных отчета. Дополнительные сведения см. в разделе «Отформатированные физические счетчики». |
logicalQubit |
словарь | Свойства логического кубита. Дополнительные сведения см. в "Логический кубит". |
tfactory |
словарь | Свойства фабрики T. |
logicalCounts |
словарь | Оценки логического ресурса предварительного макета. Дополнительные сведения см. в разделе «Логические счетчики». |
reportData |
словарь | Создание данных для отчета о оценке ресурсов. |
Физические счетчики
Словарь physicalCounts содержит следующие записи:
| Выходной параметр | Тип данных | Описание |
|---|---|---|
physicalQubits |
номер | Общее количество физических кубитов. |
runtime |
номер | Общее время выполнения алгоритма в наносекундах. |
rqops |
номер | Количество надежных квантовых операций в секунду (QOPS). |
breakdown |
словарь | Разбивка по оценкам. Дополнительные сведения см. в разделе "Подробное распределение физических подсчетов". |
Разбивка физических счетчиков
Словарь breakdownphysicalCounts содержит следующие записи:
| Выходной параметр | Тип данных | Описание |
|---|---|---|
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 мини-приложения из widgets пакета.
from qdk.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 с помощью команды QDK: вычисление оценки ресурсов , оценка границ Pareto включена по умолчанию.
Диаграмма пространство-времени позволяет найти оптимальное сочетание пар {число кубитов, время выполнения}, удовлетворяющих ограничениям квантового оборудования. На схеме показано количество физических кубитов и время выполнения алгоритма для каждой пары {число кубитов, среда выполнения}.
Чтобы запустить диаграмму пространство-время в Jupyter Notebook, используйте EstimatesOverview виджет из widgets пакета.
from qdk.widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Снимок экрана, показывающий диаграмму зависимости кубита от времени в оценивателе ресурсов.
Совет
Чтобы просмотреть сведения о оценке, можно навести указатель мыши на каждую точку на схеме.
Пространственно-временная диаграмма специально полезна при сравнении нескольких конфигураций target параметров для одного и того же алгоритма.
Снимок экрана: пространственно-временная диаграмма и таблица результатов при запуске нескольких конфигураций параметров в оценщике ресурсов.
Примечание.
Если при работе с оценщиком ресурсов возникают проблемы, см. страницу "Устранение неполадок" или контакт AzureQuantumInfo@microsoft.com.