Работа с заданиями Azure Quantum
При запуске квантовой программы в Azure Quantum создается и выполняется задание. Действия по созданию и запуску задания зависят от типа задания и поставщика и target настройки для рабочей области.
Свойства задания
Все задания имеют следующие общие свойства.
Свойство | Description |
---|---|
ИД | Уникальный идентификатор задания. Он должен быть уникальным в пределах рабочей области. |
Поставщик | Тот, кто должен выполнить задание. |
Target | То, на чем требуется выполнить задание. Например, точное квантовое оборудование или квантовый симулятор, предлагаемый поставщиком. |
Имя | Определяемое пользователем имя, которое поможет организовать ваши задания. |
Параметры | Необязательные входные параметры для targets. См. документацию по выбранному target определению доступных параметров. |
После создания задания становятся доступны различные метаданные о его состоянии и журнал выполнения.
Жизненный цикл задания
После написания квантовой программы можно выбрать target и отправить задание.
На этой схеме показан базовый рабочий процесс после отправки задания:
Сначала Azure Quantum отправляет задание в учетную запись хранения Azure, настроенную в рабочей области. Затем задание добавляется в очередь заданий для поставщика, указанного в задании. Далее Azure Quantum скачивает программу и преобразует ее для поставщика. Поставщик обрабатывает задание и возвращает выходные данные в службу хранилища Azure, откуда ее можно скачать.
Мониторинг заданий
После отправки задания можно отслеживать состояние задания. Задания могут иметь указанные ниже состояния.
Состояние | Описание |
---|---|
waiting | Задание ожидает выполнения. Некоторые задания выполняют задачи предварительной обработки в состоянии waiting. waiting всегда является первым состоянием, однако задание может перейти в состояние executing , прежде чем можно будет пронаблюдать состояние waiting . |
executing | В target настоящее время выполняется задание. |
succeeded | Задание успешно выполнено, и доступны выходные данные. Это окончательное состояние. |
failed | Не удалось выполнить задание. Доступны сведения об ошибке. Это окончательное состояние. |
cancelled | Пользователь запросил отмену задания. Это окончательное состояние. Дополнительные сведения см. в разделе Отмена задания в этой статье. |
Состояния succeeded
, failed
и cancelled
считаются окончательными. Когда задание находится в одном из них, изменений больше не происходит и соответствующие выходные данные задания не меняются.
На этой схеме показаны возможные смены состояния задания:
После успешного завершения задания отображается ссылка на выходные данные в учетной записи хранения 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
.
Примечание.
Если вы отмените задание после того, как оно начнет выполняться, за него может взиматься частичная или полная плата. См. документацию по выставлению счетов для выбранного поставщика.