Freigeben über


Verwalten von Kontingenten in Azure Quantum

Azure Quantum-Kontingente sind anbieterdefinierte Grenzwerte für die Verwendung von QPUs targets. Kontingente tragen dazu bei, versehentliche Kostenübergänge für den Benutzer zu verhindern und gleichzeitig die Integrität der Systeme des Anbieters beizubehalten. Kontingente basieren auf der Auswahl Ihres Anbieterplans und können in der Regel mit einem Supportticket erhöht werden.
Die von Kontingenten nachverfolgte Nutzung ist nicht zwangsläufig an Kosten oder Guthaben gebunden, sondern kann korreliert werden.

Tipp

Wenn Sie einen Azure Quantum-Arbeitsbereich erstellen, erhalten Sie automatisch USD500 kostenlose Azure Quantum Credits für jeden Quantenhardwareanbieter. Sie können azure Quantum Credits verwenden, um Ihre ersten Quantenprogramme an echte Quantenhardware zu übermitteln.

Berechnung von Kontingenten

In Azure Quantum definieren und steuern Hardware- und Softwareanbieter die Kontingente ihrer Angebote. Ausführliche Informationen zu Kontingenten finden Sie auf jeder Anbieterreferenzseite. Wenn ein Anbieter nicht in der folgenden Liste angezeigt wird, definiert dieser Anbieter keine Kontingente.

Anzeigen des verbleibenden Kontingents

Die Azure Quantum-Nutzung und die zugehörigen Kontingente werden in Bezug auf die Nutzungseinheit des jeweiligen Anbieters gemessen. Einige Anbieter definieren keine Kontingente und weisen keine Verwendungsinformationen auf, die angezeigt werden sollen.

Hinweis

Wenn Sie einen Azure Quantum Credits-Plan und keinen Abrechnungsplan verwenden, werden die Kontingentinformationen Ihren zugewiesenen Credits zugeordnet. In diesem Fall wird für das Kontingent das Guthaben aufgeführt, das Sie insgesamt erhalten haben.

Verfolgen des Kontingents mithilfe von Azure-Portal

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.
  2. Wählen Sie Ihren Azure Quantum-Arbeitsbereich aus.
  3. Wechseln Sie im linken Bereich unter "Vorgänge" zur Registerkarte "Guthaben und Kontingente ", und wählen Sie das Blatt "Kontingente " aus.
  4. Sehen Sie sich die verbrauchten und die verbleibenden Kontingente für jeden ausgewählten Anbieter an. Beachten Sie, dass Kontingentinformationen in drei Spalten angezeigt werden.
  • Arbeitsbereichsnutzung: Das Nutzungslimit für den aktuellen Arbeitsbereich. Jeder Azure Quantum-Arbeitsbereich hat einen Nutzungsgrenzwert.
  • Azure-Abonnementnutzung: Die Nutzung aller Arbeitsbereiche innerhalb der aktuellen Region und des aktuellen Abonnements. Nicht alle Kontingente werden auf dieser Ebene nachverfolgt.
  • Kadenz: Der Zeitraum für die Verlängerung Ihres Kontingents. Bei „Monatlich“ wird die Nutzung jeweils am Monatsersten zurückgesetzt. Bei „Einmalig“ wird die Nutzung nie zurückgesetzt.

Screenshot des Blatts

In dieser Ansicht ist Azure Quantum-Guthaben als Kontingent enthalten. Dadurch kann der Benutzer die Guthabeninformationen in Form der vom Anbieter nachverfolgten Einheiten sowie das zugeordnete Intervall anzeigen.

Verfolgen des Kontingents mit Azure CLI

Sie können Ihre Kontingente mithilfe der Azure-Befehlszeilenschnittstelle (Azure CLI) anzeigen. Weitere Informationen finden Sie unter Verwalten von Quantenarbeitsbereichen mit der Azure CLI.

  1. Installieren Sie die Azure CLI-Erweiterung quantum. Öffnen Sie eine Eingabeaufforderung, und führen Sie den folgenden Befehl aus. Dadurch wird auch ein Upgrade für die Erweiterung durchgeführt, wenn bereits eine vorherige Version installiert ist.

    az extension add --upgrade -n quantum
    
  2. Melden Sie sich mit Ihren Anmeldeinformationen bei Azure an. Es wird eine Liste mit den Abonnements angezeigt, die Ihrem Konto zugeordnet sind.

    az login
    
  3. Geben Sie das Abonnement an, das Sie verwenden möchten.

    az account set -s <Your subscription ID>
    
  4. Wählen Sie den Arbeitsbereich aus, den Sie verwenden möchten. Beachten Sie, dass Sie auch die Ressourcengruppe und den Speicherort angeben müssen.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. Verwenden Sie den Befehl az quantum workspace quotas, um Kontingentinformationen für den ausgewählten Arbeitsbereich anzuzeigen.

    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|
    

Sehen Sie sich als Beispiel die obige Ausgabe an. In diesem Fall zeigt die Zeile qgs, dass das Limit des Kontos für IonQ 8333334 qgs beträgt und dass 33334 qgs davon bereits in Anspruch genommen wurden. Das Konto verfügt auch über ein Limit von 800 HQCs für Quantinuum, und 0 davon wurden bereits in Anspruch genommen.

Die Spalte Bereich gibt an, ob sich das Kontingent auf den aktuellen Arbeitsbereich oder das Abonnement bezieht.

  • Workspace (Arbeitsbereich): Das Kontingent wird für einen einzelnen Arbeitsbereich nachverfolgt.
  • Subscription (Abonnement): Das Kontingent wird für alle Arbeitsbereiche innerhalb des gleichen Abonnements bzw. innerhalb der gleichen Region nachverfolgt.

Die Spalte Zeitraum gibt den Zeitraum an, in dem Ihr Kontingent erneuert wird.

  • Monthly (Monatlich): Die Nutzung wird jeweils am Monatsersten zurückgesetzt.
  • Unendlich: Die Verwendung wird nie zurückgesetzt (auch einmal in der Azure-Portal Ansicht bezeichnet).

Verfolgen des Kontingents mithilfe des Python SDK

  1. Installieren Sie die neueste Version des Python-Pakets azure-quantum.

  2. Öffnen Sie eine neue Python-Datei. Instanziieren Sie ein Workspace-Objekt. Dadurch können Sie eine Verbindung mit dem Arbeitsbereich herstellen, den Sie zuvor in Azure bereitgestellt haben.

    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. Verwenden Sie die Methode get_quotas, um Kontingentinformationen für den ausgewählten Arbeitsbereich anzuzeigen.

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

Sehen Sie sich als Beispiel die obige Ausgabe an. In diesem Fall zeigt die Zeile qgs, dass das Limit des Kontos für IonQ 8333334 qgs beträgt und dass 33334 qgs davon bereits in Anspruch genommen wurden. Die Anzahl gleichzeitiger Jobs ist die Anzahl der Jobs, die pro Arbeitsbereich gleichzeitig in die Warteschlange gestellt werden können.

Das scope Element gibt an, ob sich das Kontingent auf den aktuellen Arbeitsbereich oder das Abonnement bezieht.

  • Workspace (Arbeitsbereich): Das Kontingent wird für einen einzelnen Arbeitsbereich nachverfolgt.
  • Subscription (Abonnement): Das Kontingent wird für alle Arbeitsbereiche innerhalb des gleichen Abonnements bzw. innerhalb der gleichen Region nachverfolgt.

Das period Element gibt den Zeitraum an, in dem Ihr Kontingent verlängert wird.

  • Monthly (Monatlich): Die Nutzung wird jeweils am Monatsersten zurückgesetzt.
  • Unendlich: Die Verwendung wird nie zurückgesetzt (auch einmal in der Azure-Portal Ansicht bezeichnet).

Tipp

Die get_quotas Methode gibt die Ergebnisse in Form eines Python-Wörterbuchs zurück. Verwenden Sie für ein besser lesbares Format die folgenden Codebeispiele, um eine Zusammenfassung der > verbleibenden Kontingente auf Abonnement- und Arbeitsbereichsebene zu drucken.

Kopieren Sie den folgenden Code, um das Kontingent auf Abonnementebene nachzuverfolgen.

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

Kopieren Sie den folgenden Code, um das Kontingent auf Arbeitsbereichsebene nachzuverfolgen.

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

Anfordern eines zusätzlichen Kontingents

Wenn Sie keinen Azure Quantum-Guthabenplan verwenden, können Sie ein Supportticket erstellen, um Kontingenterhöhungen anzufordern.

  1. Melden Sie sich mit den Anmeldeinformationen für Ihr Azure-Abonnement beim Azure-Portal an.

  2. Wählen Sie Ihren Azure Quantum-Arbeitsbereich aus.

  3. Navigieren Sie im linken Bereich unter Vorgänge zum Blatt Gutschriften und Kontingente, und wählen Sie die Registerkarte Kontingente aus.

  4. Wählen Sie entweder auf der Kontingentseite die Schaltfläche Erhöhen oder im Seitenbereich des Portals die Schaltfläche Neue Supportanfrage aus.

  5. Daraufhin wird ein Supportticket geöffnet. Führen Sie die folgenden Schritte aus, um die Anforderung auszufüllen:

    1. Beschreiben Sie das Problem als Überschreibungsanforderung für Azure Quantum-Kontingent.
    2. Wählen Sie unter „Problemtyp“ die Option Technisch aus.
    3. Wählen Sie das Abonnement aus, in dem sich der Arbeitsbereich befindet.
    4. Wählen Sie Alle Dienste aus.
    5. Wählen Sie unter „Diensttyp“ die Option Azure Quantum – Vorschau aus.
    6. Wählen Sie unter Ressource den Arbeitsbereich aus, für den das Kontingent geändert werden soll.
    7. Wählen unter Problemtyp die Option Sonstiges aus.
    8. Navigieren Sie zu Lösungen und dann zu Details.
    9. Füllen Sie alle Felder aus. Geben Sie unter Beschreibung Folgendes an:
    • Name des Anbieters, für den Kontingente geändert werden sollen
    • Bereich, für den Kontingente geändert werden sollen (Abonnement oder Arbeitsbereich)
    • Zu ändernde Kontingente und Umfang der Änderung
    • In manchen Fällen ist eine Begründung der Kontingenterhöhung hilfreich.