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


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

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

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

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

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

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

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

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

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

    python -m pip install --upgrade qsharp 
    

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


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

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

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

  • Target параметры: модель кубита, схемы 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