Выполнение нескольких конфигураций target параметров с помощью средства оценки ресурсов
Из этой статьи вы узнаете, как выполнить несколько конфигураций target параметров и сравнить их с помощью средства оценки ресурсов Azure Quantum.
Сведения о том, как запустить средство оценки ресурсов, см. в разделе "Различные способы использования оценщика ресурсов".
Необходимые компоненты
Для запуска средства оценки ресурсов требуются следующие предварительные требования:
Чтобы запустить Q# программы в оценщике ресурсов, вам потребуется следующее:
- Последняя версия Visual Studio Code или откройте VS Code в Интернете.
- Последняя версия расширения Пакета средств разработки Azure Quantum. Дополнительные сведения об установке см. в разделе "Установка QDK" в VS Code.
Если вы хотите использовать Python в VS Code, вам также потребуется следующее:
Установите последнюю версию расширений Python и Jupyter для VS Code.
Последний пакет Azure Quantum
qsharp
.python -m pip install --upgrade qsharp
Чтобы отправить задания в оценщик ресурсов, вам потребуется следующее:
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи Azure, зарегистрируйтесь бесплатно и зарегистрируйтесь для подписки с оплатой по мере использования.
- Рабочая область Azure Quantum. Дополнительные сведения см. в статье Создание рабочей области Azure Quantum.
Пакетная обработка с помощью средства оценки ресурсов
Оценка ресурсов Azure Quantum позволяет отправлять задания с несколькими конфигурациями параметров задания, которые также называются элементами, чтобы избежать повторного запуска нескольких заданий в одной квантовой программе.
Задание оценки ресурсов состоит из двух типов параметров задания:
- Target параметры: модель кубита, схемы QEC, бюджет ошибок, ограничения на уровне компонента и единицы дистилляции.
- Аргументы операции: аргументы, которые можно передать программе (если точка входа QIR содержит аргументы).
Один элемент состоит из одной конфигурации параметров задания, которая является одной конфигурацией target параметров и аргументов операций. Несколько элементов представлены в виде массива параметров задания.
Некоторые сценарии, в которых может потребоваться отправить несколько элементов в виде одного задания:
- Отправьте несколько target параметров с одинаковыми аргументами операции во всех элементах.
- Отправьте несколько target параметров с разными аргументами операции во всех элементах.
- Легко сравнить несколько результатов в табличном формате.
- Легко сравнить несколько результатов на диаграмме.
Пакетная обработка заданий с использованием разных языков
Выберите нужные вкладки, например пакетную обработку оценки ресурсов.
- Пакетная обработка с помощью Q#
- Пакетная обработка с помощью Qiskit
- Пакетная обработка с помощью PyQIR
При оценке ресурсов 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