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


Работа с заданиями Azure Quantum

При запуске квантовой программы в Azure Quantum создается и выполняется задание. Действия по созданию и запуску задания зависят от типа задания и поставщика и target настройки для рабочей области.

Свойства задания

Все задания имеют следующие общие свойства.

Свойство Description
ИД Уникальный идентификатор задания. Он должен быть уникальным в пределах рабочей области.
Поставщик Тот, кто должен выполнить задание.
Target То, на чем требуется выполнить задание. Например, точное квантовое оборудование или квантовый симулятор, предлагаемый поставщиком.
Имя Определяемое пользователем имя, которое поможет организовать ваши задания.
Параметры Необязательные входные параметры для targets. См. документацию по выбранному target определению доступных параметров.

После создания задания становятся доступны различные метаданные о его состоянии и журнал выполнения.

Жизненный цикл задания

После написания квантовой программы можно выбрать target и отправить задание.

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

Поток заданий Azure Quantum

Сначала Azure Quantum отправляет задание в учетную запись хранения Azure, настроенную в рабочей области. Затем задание добавляется в очередь заданий для поставщика, указанного в задании. Далее Azure Quantum скачивает программу и преобразует ее для поставщика. Поставщик обрабатывает задание и возвращает выходные данные в службу хранилища Azure, откуда ее можно скачать.

Мониторинг заданий

После отправки задания можно отслеживать состояние задания. Задания могут иметь указанные ниже состояния.

Состояние Описание
waiting Задание ожидает выполнения. Некоторые задания выполняют задачи предварительной обработки в состоянии waiting. waiting всегда является первым состоянием, однако задание может перейти в состояние executing, прежде чем можно будет пронаблюдать состояние waiting.
executing В target настоящее время выполняется задание.
succeeded Задание успешно выполнено, и доступны выходные данные. Это окончательное состояние.
failed Не удалось выполнить задание. Доступны сведения об ошибке. Это окончательное состояние.
cancelled Пользователь запросил отмену задания. Это окончательное состояние. Дополнительные сведения см. в разделе Отмена задания в этой статье.

Состояния succeeded, failed и cancelled считаются окончательными. Когда задание находится в одном из них, изменений больше не происходит и соответствующие выходные данные задания не меняются.

На этой схеме показаны возможные смены состояния задания:

Схема, показывающая рабочий процесс отправки задания в Azure Qauntum.

После успешного завершения задания отображается ссылка на выходные данные в учетной записи хранения Azure. Способ доступа к этим данным зависит от пакета SDK или инструмента, который использовался для отправки задания.

Мониторинг заданий

Задания можно отслеживать с помощью Python, портал Azure и Azure CLI.

Все свойства задания доступны в job.details. Например, можно получить доступ к имени задания, состоянию и идентификатору следующим образом:

print(job.details)
print("\nJob name:", job.details.name)
print("Job status:", job.details.status)
print("Job ID:", job.details.id)
{'additional_properties': {'isCancelling': False}, 'id': '0fc396d2-97dd-11ee-9958-6ca1004ff31f', 'name': 'MyPythonJob', 'provider_id': 'rigetti'...}
Job name: MyPythonJob
Job status: Succeeded
Job ID: fc396d2-97dd-11ee-9958-6ca1004ff31f

Количество заданий

Чтобы получить количество, которое приводит к большому количеству заданийQuantum Development Kit, может потребоваться выполнить локальную установку средств. При локальной установке можно хранить идентификаторы заданий локально.

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

for job in workspace.list_jobs():
    print(job.id, job.details.name, job.details.output_data_uri)

Отмена задания

Если задание еще не находится в окончательном состоянии (например, succeeded, failed или cancelled), можно запросить его отмену. Все поставщики отменяют задание, если оно находится в состоянии waiting. Однако не все поставщики поддерживают отмену, если задание находится в состоянии executing.

Примечание.

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