Запуск нескольких конфигураций target параметров с помощью оценщика ресурсов

Из этой статьи вы узнаете, как выполнить несколько конфигураций target параметров и сравнить их с помощью оценщика ресурсов Azure Quantum.

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

Предварительные требования

Для запуска оценщика ресурсов требуются следующие предварительные требования:

Чтобы запустить Q# программы в оценщике ресурсов, вам потребуется следующее:

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

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

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

    python -m pip install --upgrade qsharp 
    

Чтобы отправить задания в оценщик ресурсов, вам потребуется следующее:


Пакетная обработка с помощью оценщика ресурсов

Оценщик ресурсов Azure Quantum позволяет отправлять задания с несколькими конфигурациями параметров задания( также называемые элементами) в виде одного задания, чтобы избежать повторного запуска нескольких заданий в одной квантовой программе.

Задание оценки ресурсов состоит из двух типов параметров задания:

  • Целевые параметры: модель кубитов, схемы QEC, бюджет ошибок, ограничения на уровне компонентов и единицы дистилляции.
  • Аргументы операции: аргументы, которые могут быть переданы программе (если точка входа QIR содержит аргументы).

Один элемент состоит из одной конфигурации параметров задания, то есть одной конфигурации target параметров и аргументов операции. Несколько элементов представлены в виде массива параметров задания.

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

  • Отправьте несколько target параметров с одинаковыми аргументами операции во всех элементах.
  • Отправьте несколько target параметров с разными аргументами операции во всех элементах.
  • Простое сравнение нескольких результатов в табличном формате.
  • Простое сравнение нескольких результатов на диаграмме.

При оценке ресурсов Q# программы можно запустить несколько конфигураций target параметров, также называемых пакетной обработкой. Пакетную обработку с Q# можно выполнить в Jupyter Notebook в VS Code.

Пакетную оценку можно выполнить, передав список target параметров в params параметр qsharp.estimate функции . В следующем примере показано, как отправить две конфигурации target параметров в виде одного задания. Первая конфигурация использует параметры по умолчанию target , а вторая — qubit_maj_ns_e6 параметр кубита и схему floquet_code QEC.

В той же Jupyter Notebook программы Q# добавьте новую ячейку и выполните следующий код:

result_batch = qsharp.estimate("RunProgram()", params=
                [{}, # Default parameters
                {
                    "qubitParams": {
                        "name": "qubit_maj_ns_e6"
                    },
                    "qecScheme": {
                        "name": "floquet_code"
                    }
                }])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])

Вы также можете создать список параметров оценки target с помощью EstimatorParams класса . В следующем коде показано, как отправить шесть конфигураций target параметров в виде одного задания.

from qsharp.estimator import EstimatorParams, QubitParams, QECScheme

labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]

params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE

qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)

Примечание

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