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


Использование известных оценок с помощью средства оценки ресурсов

В этой статье вы узнаете, как использовать предварительно вычисляемые оценки и оптимизировать выполнение оценки ресурсов Azure Quantum.

Сведения о том, как запустить средство оценки ресурсов, см. в разделе "Различные способы выполнения оценки ресурсов".

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

Если вы хотите использовать Python в VS Code, вам также потребуется следующее:

  • Установите последнюю версию расширений Python и Jupyter для VS Code.

  • Последний пакет Azure Quantum qsharp .

    python -m pip install --upgrade qsharp 
    

Использование известных оценок для операции

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

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

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

Операцию можно использовать AccountForEstimatesQ# для передачи известных оценок в оценщик ресурсов.

Примечание.

Специальная операция — это встроенная операция AccountForEstimates для средства оценки ресурсов. Оно не поддерживается другим выполнением targets.

Например, рассмотрим следующую Q# операцию, которая FactoringFromLogicalCounts принимает список известных оценок и список кубитов.

open Microsoft.Quantum.ResourceEstimation;

operation FactoringFromLogicalCounts() : Unit {
    use qubits = Qubit[12581];

    AccountForEstimates(
        [TCount(12), RotationCount(12), RotationDepth(12),
         CczCount(3731607428), MeasurementCount(1078154040)],
        PSSPCLayout(), qubits);
}

Операция AccountForEstimates может принимать следующие параметры:

Функции с AccountForEstimates Description
AuxQubitCount(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что число вспомогательных кубитов равно значению amount.
TCount(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что число шлюзов T равно значению amount.
MeasurementCount(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что число измерений равно значению amount.
RotationCount(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что число поворотов равно значению amount.
RotationDepth(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что глубина поворота равна.amount
CczCount(amount : Int) Возвращает кортеж, который можно передать AccountForEstimates в операцию, чтобы указать, что число шлюзов CCZ равно значению amount.
PSSPCLayout() Укажите макет параллельного синтеза последовательных вычислений Паули (PSSPC). Дополнительные сведения см. в arXiv:2211.0769.

Примечание.

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