Come gestire le quote in Azure Quantum
Le quote di Azure Quantum sono limiti definiti dal provider per l'utilizzo di QPU targets. Le quote consentono di evitare eccedenze accidentali dei costi per l'utente mantenendo allo stesso tempo l'integrità dei sistemi del provider. Le quote sono basate sulla selezione del piano del provider e in genere possono essere aumentate con un ticket di supporto.
L'utilizzo rilevato dalle quote non è necessariamente associato a un costo o a un credito, ma potrebbe essere correlato.
Suggerimento
Quando si crea un'area di lavoro di Azure Quantum, si ottengono automaticamente crediti Azure Quantum gratuiti per ogni provider di hardware quantistico. È possibile usare i crediti Azure Quantum per inviare i primi programmi quantistici all'hardware quantistico reale.
Come vengono calcolate le quote
In Azure Quantum, i provider hardware e software definiscono e controllano le quote delle offerte. Per informazioni dettagliate sulla quota, vedere ogni pagina di riferimento del provider. Se un provider non viene visualizzato nell'elenco seguente, tale provider non definisce quote.
Visualizzazione della quota rimanente
L'utilizzo e le quote di Azure Quantum vengono misurate in termini di unità di utilizzo di ogni provider. Alcuni provider non definiscono quote e non avranno informazioni sull'utilizzo da visualizzare.
Nota
Se si usa un piano crediti Azure Quantum e non un piano di fatturazione, le informazioni sulla quota vengono mappate ai crediti allocati. In tal caso, la quota elenca il numero totale di crediti ricevuti.
Tenere traccia della quota usando portale di Azure
- Accedere al portale di Azure usando le credenziali della sottoscrizione di Azure.
- Selezionare l'area di lavoro di Azure Quantum.
- Nel pannello sinistro, in Operazioni, passare alla scheda Crediti e quote e selezionare il pannello Quote .
- Vedere le quote utilizzate e le quote rimanenti per ogni provider selezionato. Si noti che le informazioni sulla quota vengono visualizzate in tre colonne.
- Utilizzo dell'area di lavoro: limite di utilizzo per l'area di lavoro corrente. Ogni area di lavoro di Azure Quantum ha un limite di utilizzo.
- Utilizzo della sottoscrizione di Azure: utilizzo per tutte le aree di lavoro all'interno dell'area e della sottoscrizione correnti. Non tutte le quote vengono rilevate a questo livello.
- Frequenza: periodo in cui viene rinnovata la quota. Se mensile, l'utilizzo viene reimpostato il 1° di ogni mese. Se si usa una sola volta, l'utilizzo non viene mai reimpostato.
In questa vista, i crediti Azure Quantum sono inclusi come quote. In questo modo l'utente può visualizzare le informazioni di credito espresse in termini di unità tracciate dal provider, nonché l'intervallo associato.
Tenere traccia della quota con l'interfaccia della riga di comando di Azure
È possibile visualizzare le quote usando il interfaccia della riga di comando di Azure (interfaccia della riga di comando di Azure). Per altre informazioni, vedere Come gestire le aree di lavoro quantistiche con l'interfaccia della riga di comando di Azure.
Installare l'estensione dell'interfaccia della riga di comando
quantum
di Azure. Aprire un prompt dei comandi ed eseguire il comando seguente, che aggiornerà anche l'estensione se è già installata una versione precedente.az extension add --upgrade -n quantum
Accedere ad Azure usando le credenziali. Verrà visualizzato un elenco di sottoscrizioni associate all'account.
az login
Specificare la sottoscrizione da usare.
az account set -s <Your subscription ID>
Selezionare l'area di lavoro da usare. Si noti che è anche necessario specificare il gruppo di risorse e la posizione.
az quantum workspace set \ -g MyResourceGroup \ -w MyWorkspace \ -l MyLocation \ -o table
Usare il
az quantum workspace quotas
comando per visualizzare le informazioni sulle quote per l'area di lavoro selezionata.az quantum workspace quotas -o table
|Dimension | Holds | Limit | Period | ProviderId | Scope | Utilization| |--------- | ----- | --------- | -------- | ----------| ------------ | -----------| |qgs | 0.0 | 8333334.0 | Infinite | ionq | Subscription | 33334.0| |hqc | 0.0 | 800.0 | Infinite | quantinuum | Subscription | 0.0|
Vedere l'output precedente come esempio. In questo caso, la qgs
riga indica che l'account ha un limite di 8333334 qgs
con IonQ, di cui 33334 qgs
è stato usato. L'account ha anche un limite di 800
HQC con Quantinuum, di cui 0
è stato usato.
La colonna Ambito indica se la quota fa riferimento all'area di lavoro corrente o alla sottoscrizione.
- Area di lavoro: la quota viene rilevata per una singola area di lavoro.
- Sottoscrizione: la quota viene monitorata insieme per tutte le aree di lavoro all'interno della stessa sottoscrizione/area.
La colonna Periodo indica il periodo in cui viene rinnovata la quota.
- Mensile: l'utilizzo viene reimpostato il 1° di ogni mese.
- Infinito: l'utilizzo non viene mai reimpostato (detto anche monouso nella visualizzazione portale di Azure).
Tenere traccia della quota con Python SDK
Installare la versione più recente del
azure-quantum
pacchetto Python.Aprire un nuovo file Python. Creare un'istanza di un
Workspace
oggetto, che consente di connettersi all'area di lavoro distribuita in precedenza in Azure.from azure.quantum import Workspace # Copy the following settings for your workspace workspace = Workspace ( resource_id = "", # Add your resource_id location = "" # Add your workspace location (for example, "westus") )
Usare il
get_quotas
metodo per visualizzare le informazioni sulle quote per l'area di lavoro selezionata.quotas = workspace.get_quotas()
[{'dimension': 'qgs', 'scope': 'Subscription', 'provider_id': 'ionq', 'utilization': 33334.0, 'holds': 0.0, 'limit': 16666667.0, 'period': 'Infinite'}, {'dimension': 'hqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 40.0, 'period': 'Infinite'}, {'dimension': 'ehqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 160.0, 'period': 'Infinite'}, {'dimension': 'combined_job_hours', 'scope': 'Workspace', 'provider_id': 'Microsoft', 'utilization': 0.0, 'holds': 0.0, 'limit': 20.0, 'period': 'Monthly'}, {'dimension': 'combined_job_hours', 'scope': 'Subscription', 'provider_id': 'Microsoft', 'utilization': 0.011701412083333333, 'holds': 0.0, 'limit': 1000.0, 'period': 'Monthly'}]
Vedere l'output precedente come esempio. In questo caso, la qgs
riga indica che l'account ha un limite di 8333334 qgs
con IonQ, di cui 33334 qgs
è stato usato. Il numero di processi simultanei è il numero di processi che possono essere accodati per area di lavoro in qualsiasi momento.
L'elemento scope
indica se la quota fa riferimento all'area di lavoro corrente o alla sottoscrizione.
- Area di lavoro: la quota viene rilevata per una singola area di lavoro.
- Sottoscrizione: la quota viene monitorata insieme per tutte le aree di lavoro all'interno della stessa sottoscrizione/area.
L'elemento period
indica il periodo in cui viene rinnovata la quota.
- Mensile: l'utilizzo viene reimpostato il 1° di ogni mese.
- Infinito: l'utilizzo non viene mai reimpostato (detto anche monouso nella visualizzazione portale di Azure).
Suggerimento
Il get_quotas
metodo restituisce i risultati sotto forma di dizionario Python. Per un formato più leggibile, usare gli esempi di codice seguenti per stampare un riepilogo delle quote rimanenti a livello di > sottoscrizione e area di lavoro.
Copiare il codice seguente per tenere traccia della quota a livello di sottoscrizione.
# This gathers usage against quota for the various providers (quota is set at the subscription level).
# Note that a provider may have multiple quotas, such as Quantinuum that limits usage of their Emulator.
rigetti_quota = 0
ionq_quota = 0
quantinuum_hqc_quota = 0
quantinuum_ehqc_quota = 0
rigetti_quota_utilization = 0
ionq_quota_utilization = 0
quantinuum_hqc_quota_utilization = 0
quantinuum_ehqc_quota_utilization = 0
for quota in workspace.get_quotas():
if (quota['provider_id'] == 'rigetti'):
rigetti_quota = quota['limit']
rigetti_quota_utilization = quota['utilization']
if (quota['provider_id'] == 'ionq'):
ionq_quota = quota['limit']
ionq_quota_utilization = quota['utilization']
if (quota['dimension'] == 'hqc'):
quantinuum_hqc_quota = quota['limit']
quantinuum_hqc_quota_utilization = quota['utilization']
if (quota['dimension'] == 'ehqc'):
quantinuum_ehqc_quota = quota['limit']
quantinuum_ehqc_quota_utilization = quota['utilization']
print('Rigetti quota use: ', "{:,}".format(rigetti_quota_utilization), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use:', "{:,}".format(ionq_quota_utilization), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use:', "{:,}".format(quantinuum_hqc_quota_utilization), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use:', "{:,}".format(quantinuum_ehqc_quota_utilization), '/', "{:,}".format(quantinuum_ehqc_quota))
Copiare il codice seguente per tenere traccia della quota a livello di area di lavoro.
# This gathers usage against quota for the various providers for the current workspace
# As there can be multiple workspaces in a subscription, the quota usage for the workspace is less or equal to usage against quota at the subscription level
amount_utilized_rigetti = 0
amount_utilized_ionq = 0
amount_utilized_quantinuum_hqc = 0
amount_utilized_quantinuum_ehqc = 0
for job in workspace.list_jobs():
if (job.details.cost_estimate != None):
for event in job.details.cost_estimate.events:
if (event.amount_consumed > 0):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
if (job.details.provider_id == 'rigetti'):
amount_utilized_rigetti += event.amount_consumed
if (job.details.provider_id == 'ionq'):
amount_utilized_ionq += event.amount_consumed
if (job.details.provider_id == 'quantinuum'):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
#print(event)
if (event.dimension_id == 'hqc'):
amount_utilized_quantinuum_hqc += event.amount_consumed
else:
amount_utilized_quantinuum_ehqc += event.amount_consumed
print(job.id, event)
print('Rigetti quota use in current workspace: ', "{:,}".format(amount_utilized_rigetti), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use in current workspace:', "{:,}".format(amount_utilized_ionq), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_hqc), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_ehqc), '/', "{:,}".format(quantinuum_ehqc_quota))
Richiesta di quota aggiuntiva
Se non si usa un piano di Crediti Azure Quantum, è possibile richiedere aumenti di quota generando un ticket di supporto.
Accedere al portale di Azure usando le credenziali della sottoscrizione di Azure.
Selezionare l'area di lavoro di Azure Quantum.
Nel pannello sinistro, in Operazioni, passare al pannello Crediti e quote e selezionare la scheda Quote .
Premere il pulsante Aumenta nella pagina quota o selezionare il pulsante Nuova richiesta di supporto nel pannello laterale del portale.
Verrà aperto un ticket di supporto. Seguire questa procedura per compilare la richiesta.
- Descrivere il problema come richiesta di override della quota di Azure Quantum
- Selezionare Tecnico per "Tipo di problema"
- Selezionare la sottoscrizione in cui si trova l'area di lavoro
- Selezionare Tutti i servizi
- Scegliere Azure Quantum - Anteprima come "Tipo di servizio"
- Scegliere l'area di lavoro per cui si vuole modificare la quota in Risorsa
- Scegliere Altro per il tipo di problema
- Passare a Soluzioni e quindi di nuovo a Dettagli
- Compilare tutti i campi. Per Description (Descrizione) includere quanto segue:
- Nome del provider per cui si desidera modificare le quote
- Se si desidera modificare le quote per l'ambito della sottoscrizione o l'ambito dell'area di lavoro
- Quali quote si desidera modificare e per quanto
- Qualsiasi giustificazione per il motivo per cui si sta aumentando la quota può aiutarci a decidere in alcuni casi.