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

При запуске квантовой программы в Azure Quantum создается и выполняется задание. Действия по созданию и запуску задания зависят от типа задания и поставщика, а также 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 или инструмента, который использовался для отправки задания.

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

Чтобы получить счетчики, полученные в результате большого количества заданий, может потребоваться выполнить локальную установку 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.

Примечание

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