Utilizzare i processi in Azure Quantum

Quando si esegue un programma quantistico in Azure Quantum, si crea ed esegue un processo. I passaggi per creare ed eseguire un processo dipendono dal tipo di processo e dal provider e target da configurare per l'area di lavoro.

Proprietà dei processi

Tutti i processi hanno in comune le proprietà seguenti:

Proprietà Descrizione
ID Identificatore univoco del processo. Deve essere univoco all'interno dell'area di lavoro.
Provider Provider a cui affidare l'esecuzione del processo,
Destinazione Destinazione su cui si vuole eseguire il processo, ad esempio l'effettivo hardware quantistico o il simulatore quantistico offerto dal provider.
Nome Nome definito dell'utente per facilitare l'organizzazione dei processi.
Parametri Parametri di input facoltativi per targets. Per una definizione dei parametri disponibili, vedere la documentazione relativa all'oggetto selezionato target .

Dopo aver creato un processo, sono disponibili vari metadati sullo stato e sulla cronologia di esecuzione.

Ciclo di vita dei processi

Dopo aver scritto il programma quantistico, è possibile selezionare un target e inviare il processo.

Il diagramma seguente mostra il flusso di lavoro di base dopo l'invio del processo:

flusso del processo quantistico di Azure

In primo luogo, Azure Quantum carica il processo nell'account di Archiviazione di Azure configurato nell'area di lavoro. Successivamente, il processo viene aggiunto alla coda dei processi per il provider specificato nel processo. Azure Quantum quindi scarica il programma e lo converte per il provider. Il provider elabora il processo e restituisce l'output ad Archiviazione di Azure, dove è disponibile per il download.

Monitoraggio dei processi

Dopo aver inviato un processo, è necessario eseguire il polling dello stato del processo. I processi hanno gli stati possibili seguenti:

Stato Descrizione
waiting Il processo è in attesa di esecuzione. Alcuni processi eseguiranno attività di pre-elaborazione nello stato di attesa. waiting è sempre il primo stato, ma un processo può passare allo stato executing prima di poterlo osservare in waiting.
executing Attualmente target è in esecuzione il processo.
succeeded Il processo è stato completato e l'output è disponibile. Si tratta di uno stato finale.
failed Il processo non è riuscito e sono disponibili informazioni sull'errore. Si tratta di uno stato finale.
cancelled L'utente ha richiesto di annullare l'esecuzione del processo. Si tratta di uno stato finale. Per altre informazioni, vedere Annullamento del processo in questo articolo.

Gli stati succeeded, failed e cancelled sono considerati stati finali. Quando un processo si trova in uno di questi stati, non vengono eseguiti altri aggiornamenti e i dati di output del processo corrispondenti non vengono modificati.

Questo diagramma illustra le possibili transizioni di stato del processo:

Diagramma che mostra il flusso di lavoro di un invio di processi ad Azure Qauntum.

Al termine di un processo, viene visualizzato un collegamento ai dati di output nell'account di Archiviazione di Azure. La modalità di accesso a questi dati dipende dall'SDK o dallo strumento usato per inviare il processo.

Conteggi dei processi

Per ottenere i conteggi risultanti da un numero elevato di processi, è possibile eseguire un'installazione locale degli Quantum Development Kit strumenti. Con un'installazione locale è possibile archiviare gli ID processo in locale.

È possibile copiare il codice seguente per ottenere l'elenco dei processi e i relativi risultati:

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

Annullamento del processo

Quando un processo non è ancora in uno stato finale (ad esempio, succeeded, failed o cancelled), è possibile richiedere di annullare il processo. Tutti i provider annulleranno il processo se si trova nello stato waiting. Tuttavia, non tutti i provider supportano l'annullamento se il processo si trova nello stato executing.

Nota

Se si annulla un processo dopo l'avvio dell'esecuzione, è possibile che all'account venga comunque addebitato un importo parziale o completo per tale processo. Vedere la documentazione sulla fatturazione relativa al provider selezionato.