Dela via


Hantera kvoter i Azure Quantum

Azure Quantum-kvoter är providerdefinierade gränser för användningen av QPU:er targets. Kvoter bidrar till att förhindra oavsiktliga kostnadsöverförbrukningar för användaren samtidigt som integriteten i leverantörens system bevaras. Kvoter baseras på valet av leverantörsplan och kan vanligtvis ökas med ett supportärende.
Användningen som spåras av kvoter är inte nödvändigtvis kopplad till en kostnad eller kredit, men den kan vara korrelerad.

Dricks

När du skapar en Azure Quantum-arbetsyta får du automatiskt 500 USD kostnadsfria Azure Quantum-krediter för varje kvantmaskinvaruleverantör. Du kan använda Azure Quantum Credits för att skicka dina första kvantprogram till verklig kvantmaskinvara.

Hur kvoter beräknas

I Azure Quantum definierar och styr maskinvaru- och programvaruleverantörer kvoterna för sina erbjudanden. Detaljerad kvotinformation finns på varje providerreferenssida. Om en provider inte visas i följande lista definierar inte providern några kvoter.

Visa återstående kvot

Azure Quantum-användningen och kvoterna mäts i termer av varje providers användningsenhet. Vissa leverantörer definierar inga kvoter och kommer inte att ha användningsinformation att visa.

Kommentar

Om du använder en Azure Quantum Credits-plan och inte en faktureringsplan mappar kvotinformationen till dina allokerade krediter. I så fall visar kvoten det totala antalet krediter som du har fått.

Spåra kvot med hjälp av Azure Portal

  1. Logga in på Azure Portal med autentiseringsuppgifterna för din Azure-prenumeration.
  2. Välj din Azure Quantum-arbetsyta.
  3. I den vänstra panelen går du till fliken Krediter och kvoter under Åtgärder och väljer bladet Kvoter.
  4. Se förbrukade och återstående kvoter för varje vald provider. Observera att kvotinformation visas i tre kolumner.
  • Användning av arbetsyta: Användningsgränsen för den aktuella arbetsytan. Varje Azure Quantum-arbetsyta har en användningsgräns.
  • Azure-prenumerationsanvändning: Användningen för alla arbetsytor i den aktuella regionen och prenumerationen. Alla kvoter spåras inte på den här nivån.
  • Kadens: Den period då din kvot förnyas. Om varje månad återställs användningen den 1:a varje månad. Om en gång återställs aldrig användningen.

Skärmbild av bladet kvoter i Azure Portal.

I den här vyn ingår Azure Quantum Credits som kvoter. Detta gör det möjligt för användaren att se kreditinformationen uttryckt i termer av de enheter som providern spårar, samt det intervall som är associerat.

Spåra kvot med Hjälp av Azure CLI

Du kan se dina kvoter med hjälp av Azures kommandoradsgränssnitt (Azure CLI). Mer information finns i Hantera kvantarbetsytor med Azure CLI.

  1. Installera Azure CLI-tilläggetquantum. Öppna en kommandotolk och kör följande kommando, som även uppgraderar tillägget om en tidigare version redan är installerad.

    az extension add --upgrade -n quantum
    
  2. Logga in på Azure med dina autentiseringsuppgifter. Du ser en lista över prenumerationer som är associerade med ditt konto.

    az login
    
  3. Ange den prenumeration som du vill använda.

    az account set -s <Your subscription ID>
    
  4. Välj den arbetsyta som du vill använda. Observera att du också måste ange resursgruppen och platsen.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. az quantum workspace quotas Använd kommandot för att visa kvotinformation för den valda arbetsytan.

    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|
    

Se ovanstående utdata som ett exempel. I det här fallet qgs visar raden att kontot har en gräns 8333334 qgs på med IonQ, som 33334 qgs har använts. Kontot har också en gräns för 800 HQCs med Quantinuum, varav 0 har använts.

Kolumnen Omfång anger om kvoten refererar till den aktuella arbetsytan eller prenumerationen.

  • Arbetsyta: Kvoten spåras för en enskild arbetsyta.
  • Prenumeration: Kvoten spåras tillsammans för alla arbetsytor inom samma prenumeration/region.

Kolumnen Period anger den period då din kvot förnyas.

  • Varje månad: Användningen återställs den 1:a varje månad.
  • Oändlig: Användningen återställs aldrig (kallas även en gång i vyn Azure Portal).

Spåra kvot med Python SDK

  1. Installera den senaste versionen av Python-paketetazure-quantum.

  2. Öppna en ny Python-fil. Instansiera ett Workspace objekt som gör att du kan ansluta till den arbetsyta som du tidigare har distribuerat i 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") 
    )
    
  3. get_quotas Använd metoden för att visa kvotinformationen för den valda arbetsytan.

    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'}]
    

Se ovanstående utdata som ett exempel. I det här fallet qgs visar raden att kontot har en gräns 8333334 qgs på med IonQ, som 33334 qgs har använts. Antalet samtidiga jobb är antalet jobb som kan köas per arbetsyta samtidigt.

Objektet scope anger om kvoten refererar till den aktuella arbetsytan eller prenumerationen.

  • Arbetsyta: Kvoten spåras för en enskild arbetsyta.
  • Prenumeration: Kvoten spåras tillsammans för alla arbetsytor inom samma prenumeration/region.

Objektet period anger den period då din kvot förnyas.

  • Varje månad: Användningen återställs den 1:a varje månad.
  • Oändlig: Användningen återställs aldrig (kallas även en gång i vyn Azure Portal).

Dricks

Metoden get_quotas returnerar resultatet i form av en Python-ordlista. Om du vill ha ett mer läsbart format för människor använder du följande kodexempel för att skriva ut en sammanfattning av > de återstående kvoterna på prenumerations- och arbetsytenivå.

Kopiera följande kod för att spåra kvoten på prenumerationsnivå.

# 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))

Kopiera följande kod för att spåra kvoten på arbetsytenivå.

# 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))

Begära ytterligare kvot

Om du inte använder en Azure Quantum Credits-plan kan du begära kvotökningar genom att skapa ett supportärende.

  1. Logga in på Azure Portal med autentiseringsuppgifterna för din Azure-prenumeration.

  2. Välj din Azure Quantum-arbetsyta.

  3. I den vänstra panelen går du till bladet Krediter och kvoter under Åtgärder och väljer fliken Kvoter.

  4. Tryck antingen på knappen Öka på kvotsidan eller välj knappen Ny supportbegäran på sidopanelen i portalen.

  5. Ett supportärende öppnas. Följ de här stegen för att fylla i begäran.

    1. Beskriv problemet som Azure Quantum Quota Override Request
    2. Välj Teknisk för "Ärendetyp"
    3. Välj den prenumeration som arbetsytan finns i
    4. Välj Alla tjänster
    5. Välj Azure Quantum – förhandsversion som "Tjänsttyp"
    6. Välj den arbetsyta som du vill ändra kvoten för under Resurs
    7. Välj Annat för problemtyp
    8. Gå vidare till Lösningar och sedan igen till Information
    9. Fyll i alla fält. För Beskrivning inkludera följande:
    • Namnet på providern som du vill ändra kvoter för
    • Om du vill ändra kvoter för prenumerationsomfånget eller arbetsytans omfång
    • Vilka kvoter du vill ändra och hur mycket
    • Alla skäl till varför du ökar din kvot kan hjälpa oss att avgöra i vissa fall.