Práce s úlohami Azure Quantum

Když v Azure Quantum spustíte kvantový program, vytvoříte a spustíte úlohu. Postup vytvoření a spuštění úlohy závisí na typu úlohy a poskytovateli a target konfiguraci pracovního prostoru.

Vlastnosti úlohy

Všechny úlohy mají společné následující vlastnosti:

Vlastnost Popis
ID Jedinečný identifikátor úlohy. Musí být jedinečný v rámci pracovního prostoru.
Zprostředkovatel Kdo chcete spustit svoji úlohu.
Target Na čem chcete úlohu spustit. Například přesný kvantový hardware nebo kvantový simulátor nabízený poskytovatelem.
Název Uživatelem definovaný název, který vám pomůže uspořádat úlohy.
Parametry Volitelné vstupní parametry pro targets. Podívejte se do dokumentace pro vybranou target definici dostupných parametrů.

Po vytvoření úlohy jsou k dispozici různá metadata o stavu a historii spuštění.

Životní cyklus úlohy

Po napsání kvantového programu můžete vybrat target a odeslat úlohu.

Tento diagram znázorňuje základní pracovní postup po odeslání úlohy:

azure quantum job flow

Nejprve Azure Quantum nahraje úlohu do účtu azure Storage, který jste nakonfigurovali v pracovním prostoru. Pak se úloha přidá do fronty úloh pro zprostředkovatele, kterého jste zadali v úloze. Azure Quantum pak stáhne váš program a přeloží ho pro poskytovatele. Poskytovatel zpracuje úlohu a vrátí výstup do Služby Azure Storage, kde je k dispozici ke stažení.

Monitorování úloh

Po odeslání úlohy můžete monitorovat stav úlohy. Úlohy mají následující možné stavy:

Status Popis
čekání Úloha čeká na spuštění. Některé úlohy budou provádět předzpracování ve stavu čekání. waiting je vždy prvním stavem, ale úloha se může přesunout do executing stavu předtím, než ji budete moci sledovat v waiting.
vykonávající Úloha target se právě spouští.
uspěl Úloha byla úspěšná a výstup je k dispozici. Toto je konečný stav.
neúspěšný Úloha se nezdařila a jsou k dispozici informace o chybě. Toto je konečný stav.
odvolaný Uživatel požádal o zrušení spuštění úlohy. Toto je konečný stav. Další informace naleznete v části Zrušení úlohy v tomto článku.

, succeededfaileda cancelled státy jsou považovány za konečné státy. Jakmile je úloha v jednom z těchto stavů, nedojde k žádným dalším aktualizacím a odpovídající výstupní data úlohy se nezmění.

Tento diagram znázorňuje možné přechody stavu úlohy:

Diagram znázorňující pracovní postup odeslání úlohy do Azure Qauntum

Po úspěšném dokončení úlohy se zobrazí odkaz na výstupní data ve vašem účtu Azure Storage. Způsob přístupu k datům závisí na sadě SDK nebo nástroji, který jste použili k odeslání úlohy.

Monitorování úloh

Úlohy můžete monitorovat prostřednictvím Pythonu, webu Azure Portal a Azure CLI.

Všechny vlastnosti úlohy jsou přístupné v job.detailssouboru . Můžete například získat přístup k názvu úlohy, stavu a ID následujícím způsobem:

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

Počty úloh

Pokud chcete získat počty, které jsou výsledkem velkého počtu úloh, můžete chtít provést místní instalaci Quantum Development Kit nástrojů. Pomocí místní instalace můžete ID úloh uložit místně.

Pokud chcete získat seznam úloh a jejich výsledků, zkopírujte následující kód:

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

Zrušení úlohy

Pokud úloha ještě není v konečném stavu (například succeeded, failednebo cancelled), můžete požádat o zrušení úlohy. Všichni poskytovatelé vaši úlohu zruší, pokud je ve waiting stavu. Ne všichni poskytovatelé však podporují zrušení, pokud je vaše úloha ve executing stavu.

Poznámka:

Pokud úlohu zrušíte po spuštění, může se vám za tuto úlohu stále účtovat částečná nebo úplná částka. Prohlédněte si dokumentaci k fakturaci pro vybraného poskytovatele.