Запуск нескольких конфигураций 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 позволяет отправлять задания с несколькими конфигурациями параметров задания( также называемые элементами) в виде одного задания, чтобы избежать повторного запуска нескольких заданий в одной квантовой программе.
Задание оценки ресурсов состоит из двух типов параметров задания:
- Целевые параметры: модель кубитов, схемы 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
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по