Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie mit dem Azure Quantum-Dienst arbeiten, treten möglicherweise Verbindungs- oder auftragsbezogene Probleme auf. In diesem Artikel wird erläutert, wie Sie diese Probleme beheben.
Probleme bei der Verbindung zum Arbeitsbereich
Problem: Ich kann mich nicht bei Azure Quantum mit pytket-azure authentifizieren.
Wenn Sie versuchen, sich beim Azure Quantum mit dem Paket pytket-azure in einer CI-Umgebung mithilfe der Umgebungsvariablen "AZURE_TENANT_ID", "AZURE_CLIENT_ID" und "AZURE_CLIENT_SECRET" zu authentifizieren, tritt möglicherweise der folgende Fehler auf:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
Um dieses Problem zu beheben, verwenden Sie stattdessen eine Verbindungszeichenfolge und die Umgebungsvariable "AZURE_QUANTUM_CONNECTION_STRING", um sich zu authentifizieren. Weitere Informationen finden Sie unter Verbindung mit einem Verbindungszeichenfolgestring herstellen.
connection_string = "" # Add your connection string
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Probleme bei der Übermittlung von Jobs
Problem: Ich kann den target nicht finden, an den ich meinen Arbeitsauftrag übermitteln möchte.
Wenn sich der Azure Quantum target, auf dem Sie Ihren Auftrag ausführen möchten, nicht in der Liste der verfügbaren target befindet, aktualisieren Sie auf die neueste Version der Quantum Development Kit (QDK) für Visual Studio Code (VS Code). Weitere Informationen finden Sie unter Aktualisieren des QDK.
Problem: Die Operation gibt einen ungültigen Statuscode „Nicht autorisiert“ zurück.
Gehen Sie folgendermaßen vor, um das Problem zu beheben:
- Melden Sie sich beim portal Azure an, und authentifizieren Sie Ihr Konto.
- Wechseln Sie in den Quantum-Arbeitsbereich, an den Sie einen Auftrag einreichen möchten.
- Wählen Sie im Arbeitsbereichsnavigationsbereich access control (IAM) aus.
- Wählen Sie die Schaltfläche "Meinen Zugriff anzeigen" aus . Der Aufgabenbereich wird geöffnet.
- Überprüfen Sie in der Spalte "Rolle " der Tabelle " Rollenzuweisungen ", ob Sie entweder über die Rolle " Besitzer " oder "Mitwirkender " verfügen.
- Wenn Sie keine Rolle haben, bitten Sie Ihren Abonnementadministrator, Ihnen die Rolle " Besitzer " oder "Mitwirkender " für diesen Arbeitsbereich zuzuweisen.
Problem: "AuthorizationFailure - Diese Anforderung ist nicht berechtigt, diesen Vorgang auszuführen"
Wenn Sie diese Meldung erhalten, auch wenn Sie über eine gültige Verbindung mit dem Azure Quantum Dienst verfügen, ist das Speicherkonto möglicherweise so konfiguriert, dass der Zugriff auf öffentliche Netzwerke blockiert wird. Der Azure Quantum-Dienst unterstützt nur Speicherkonten mit öffentlichem Internetzugang.
Führen Sie die folgenden Schritte aus, um die Einstellungen des Speicherkontos zu überprüfen:
- Melden Sie sich beim portal Azure an.
- Wechseln Sie zu Ihrem Quantum-Arbeitsbereich.
- Wählen Sie auf der Seite "Übersicht" das Speicherkonto aus.
- Erweitern Sie im Navigationsbereich die Dropdownliste "Sicherheit + Netzwerk ", und wählen Sie "Netzwerk" aus.
- Wählen Sie im Abschnitt " Zugriff auf öffentliche Netzwerke " auf der Registerkarte " Öffentlicher Zugriff " die Schaltfläche " Verwalten " aus.
- Wählen Sie für die Einstellung für den Zugriff auf das öffentliche Netzwerkdie Option "Aktivieren" aus. Wählen Sie für die Einstellung für den Bereich für den Zugriff auf öffentliche Netzwerkedie Option "Aus allen Netzwerken aktivieren" aus.
- Klicken Sie auf die Schaltfläche Speichern.
Problem: "Fehler beim Kompilieren des Programms" beim Übermitteln eines Q#-Programms von Azure CLI
Wenn Sie einen Auftrag mit dem Befehl az quantum submit Azure CLI übermitteln, tritt möglicherweise die folgende Fehlermeldung auf:
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
Dieser Fehler tritt auf, wenn ein Problem mit dem Q#-Programm auftritt, das dazu führt, dass die Kompilierung fehlschlägt. Stellen Sie sicher, dass Ihr Q#-Code über eine richtige Syntax verfügt.
Problem: Compilerfehler "Falsche Anzahl von Gate-Parametern"
Wenn Sie einen Auftrag aus einer lokalen Jupyter Notebook- oder CLI-Umgebung an Quantinuum übermitteln und den älteren QASM-Übersetzer (OPENQASM 2.0) verwenden, tritt möglicherweise dieser Fehler auf:
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
Dieser Fehler tritt auf, wenn ein Komma "" oder ein anderes Nicht-Punktzeichen als Dezimaltrennzeichen verwendet wird. Ersetzen Sie alle Dezimaltrennzeichen ohne Punkt durch Punkte ".". Beispiel:
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Problem: Compilerfehler "für die aktuelle Kompilierungskonfiguration nicht verfügbar"
Wenn Sie eine Q#-Codezelle in einer Jupyter Notebook in VS Code ausführen, tritt möglicherweise der Fehler auf:
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
Dieser Fehler gibt an, dass Sie das QIR-Profil (Quantum Intermediate Representation) target auf Base festlegen, wenn die Funktion das uneingeschränktetarget Profil erfordert. Wenn Sie keinen Profiltyp angeben target , legt der Compiler automatisch den target Wert " Uneingeschränkt" fest.
Problem: Die Operation hat einen ungültigen Statuscode 'Verboten' zurückgegeben.
Wenn Sie Ihren ersten Auftrag übermitteln, erhalten Sie möglicherweise einen 'forbidden' Fehlercode.
Dieses Problem tritt auf, wenn Sie einen neuen Arbeitsbereich im Azure-Portal erstellen und Azure Quantum die Rollenzuweisung nicht abschließen, die den Arbeitsbereich mit dem angegebenen Speicherkonto verknüpft. Dies kann passieren, wenn Sie die Registerkarte oder den Webbrowser schließen, bevor die Arbeitsbereicherstellung abgeschlossen ist.
Führen Sie die folgenden Schritte aus, um zu überprüfen, ob dieses Problem mit der Rollenzuweisung auftritt:
- Wechseln Sie zum Quantum-Arbeitsbereich im Azure-Portal.
- Wählen Sie auf der Seite "Übersicht" das Speicherkonto aus.
- Wählen Sie im Navigationsbereich Access Control (IAM) aus.
- Wählen Sie die Registerkarte "Rollenzuweisungen" aus .
- Überprüfen Sie in der Spalte "Rolle ", ob das Speicherkonto Ihres Arbeitsbereichs über die Rolle " Mitwirkender des Speicherkontos " und die Rolle " Mitwirkender für Speicher-Blob-Daten" verfügt.
Wenn der Arbeitsbereich nicht über beide Rollen für das Speicherkonto verfügt, führen Sie eine der folgenden Aktionen aus:
- Erstellen Sie einen neuen Arbeitsbereich, und stellen Sie sicher, dass die Erstellung des Arbeitsbereichs abgeschlossen ist, bevor Sie das Webbrowserfenster oder die Registerkarte schließen.
- Weisen Sie Ihrem Arbeitsbereich im Speicherkonto die Rollen "Mitwirkender des Speicherkontos" und "Mitwirkender für Storage-Blob-Daten" zu.
Problem: Auftrag schlägt fehl mit Fehlercode: QIRPreProcessingFailed
Wenn Sie einen Auftrag an eine Rigetti-target übermitteln und der Auftrag fehlschlägt, wird möglicherweise die folgende Fehlermeldung in der Job-Verwaltungkonsole für Ihren Quantum-Arbeitsbereich im Azure Portal angezeigt:
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
Dieser Fehler kann durch einen Abhängigkeitskonflikt mit einer früheren Version von pyqir oder qiskit-qir verursacht werden. Deinstallieren Sie alle Versionen von pyqir, pyqir-* und qiskit-qir auf Ihrem lokalen Computer, und installieren oder aktualisieren Sie dann die bibliothek qdk Python mit den Extras azure und qiskit:
pip install --upgrade "qdk[azure,qiskit]"
Problem: Abrufen grundlegender Informationen zu fehlgeschlagenen Aufträgen
Wenn Sie einen Auftrag an eine Hardware targetübermitteln, befindet sich Ihr Auftrag möglicherweise mehrere Stunden oder Tage lang in der Warteschlange, bevor der Auftrag fehlschlägt.
Führen Sie eine der folgenden Aktionen aus, um weitere Informationen zum Auftragsfehler abzurufen:
Um die Auftragsausgabe oder die Fehlermeldung anzuzeigen, verwenden Sie die methode
get_results()aus dem Modulqdk.azurePython:job.get_results()In Ihrem Quantum-Arbeitsbereich im Azure Portal gehen Sie zum Jobverwaltung-Abschnitt im Dropdownmenü Operations, und wählen Sie dann den Auftrag Name aus, um den Jobdetails-Bereich zu öffnen.
Wechseln Sie in Ihrem Quantum-Arbeitsbereich im Azure-Portal zur Dropdownliste Providers aus dem Dropdownmenü Operations. Stellen Sie sicher, dass die target Hardware verfügbar ist. Wenn der target Status "Herabgestuft" ist, bleiben Aufträge möglicherweise länger als üblich in der Warteschlange. Manchmal werden die Aufträge verarbeitet, aber gelegentlich tritt bei ihnen ein Timeout auf, und es wird ein Fehler zurückgegeben, d. h. target nicht verfügbar.
Problem: Azure Quantum fordert mich auf, mich zu authentifizieren, wenn ich programmgesteuert eine Verbindung mit meinem Arbeitsbereich herstellt.
Wenn Sie das Azure Quantum Python SDK verwenden und eine Verbindung mit Ihrem Arbeitsbereich herstellen, indem Sie die klasse AzureQuantumProvider verwenden, wird möglicherweise ein Popup für die Authentifizierung bei Azure auftreten, wenn Sie Ihr Skript ausführen.
Dieses Popup geschieht, da Ihr Sicherheitstoken jedes Mal zurückgesetzt wird, wenn Sie das Skript ausführen.
Um dieses Problem zu beheben, führen Sie az login aus dem Azure CLI aus. Weitere Informationen finden Sie unter az login.
Microsoft Quantum-Ressourcenschätzer-Probleme
Die folgenden Probleme können dazu führen, dass Ressourcenschätzungsaufträge fehlschlagen.
Problem: Der Quantenalgorithmus muss mindestens einen T-Zustand oder eine Messung enthalten.
Um die Zuordnung eines beliebigen Quantenprogramms zu einem 2D-Array logischer Qubits zu berücksichtigen, geht die Ressourcenschätzung davon aus, dass die Parallel Synthesis Sequential Pauli Computation (PSSPC) für das Eingabeprogramm ausgeführt wird. Bei diesem Ansatz werden alle Clifford-Operationen durch alle T-Gates, Rotationsgates und Messvorgänge kommutiert, wobei eine einzelne Clifford-Operation verbleibt, die klassisch effizient ausgewertet werden kann. Daher erfordert ein Quantenprogramm, das keine T-Zustände enthält, wie sie etwa von T-Toren, Drehtoren oder Messvorgängen erzeugt werden, keine physischen Quantencomputing-Ressourcen. Weitere Informationen zur parallelen sequentiellen Pauli-Berechnung finden Sie in arXiv:2211.07629, Anhang D.
Error message: Algorithm requires at least one T state or measurement to estimate resources
Problem: Physische T-Gate-Fehlerrate ist zu hoch
Die Fehlerrate des logischen T-Zustands hängt vom Fehlerbudget und der Anzahl der T-Zustände im Quantenprogramm ab. T-Fabriken werden verwendet, um T-Zustände mit der erforderlichen logischen T-Zustandsfehlerrate von physischen T-Toren zu erstellen, die eine physische T-Gate-Fehlerrate aufweisen. In der Regel ist die physische T-Gate-Fehlerrate höher als die erforderliche logische T-Gate-Fehlerrate. In einigen Szenarien ist die physische T-Gate-Fehlerrate im Vergleich zur erforderlichen Fehlerrate des logischen T-Zustands deutlich höher, sodass keine T-Factory gefunden werden kann, die logische T-Zustände mit ausreichender Qualität erzeugen kann.
Error message: No T factory can be found, because the required logical T state error rate is too low
Um dieses Problem zu lösen, führen Sie eine der folgenden Aktionen aus:
- Erhöhen Sie das Fehlerbudget, entweder das Gesamte oder den Teil für T-Zustände.
- Verringern Sie die physische T-Gate-Fehlerrate in den Qubit-Parametern.
- Verringern Sie die Anzahl der T-Zustände im Quantenprogramm, indem Sie T-Tore, Drehtore und Toffoli-Tore reduzieren.
Problem: Physische T-Gate-Fehlerrate ist zu niedrig
Wenn die physische T-Gate-Fehlerrate niedriger als die erforderliche Fehlerrate des logischen T-Zustands ist, benötigen Sie keine T-Factory, da die physische T-Gate-Fehlerrate ausreichend ist. Sie müssen jedoch weiterhin die Auswirkungen von Übertragungseinheiten berücksichtigen, die die physischen T-Zustände von Codeabstand 1 zum Codeabstand des Algorithmus übertragen (siehe arXiv:2211.07629, Anhang C). Im Allgemeinen sind in Anwesenheit von T-Fabriken die Kosten der Transfereinheiten vernachlässigbar.
Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.
Um dieses Problem zu lösen, führen Sie eine der folgenden Aktionen aus:
- Erhöhen Sie die physische T-Gate-Fehlerrate in den Qubit-Parametern auf die erforderliche Fehlerrate für den logischen T-Zustand.
- Reduzieren Sie das Fehlerbudget oder nur den Teil für die T-Zustände.
Problem: Fehlerrate muss eine Zahl zwischen 0 und 1 sein.
Fehlerraten können nur einen Wert zwischen 0 und 1 aufweisen. Damit die Fehlerkorrektur wirksam wird, muss die physische Fehlerrate für Tore und Messungen unter einem Wert liegen, der von den Eigenschaften des Fehlerkorrekturcodes und der erforderlichen logischen Fehlerrate abhängt.
Um dieses Problem zu lösen, führen Sie eine der folgenden Aktionen aus:
- Erhöhen Sie das Fehlerbudget, entweder gesamt oder den Teil für logische Fehler.
- Verringern Sie die physischen Fehlerraten in den Qubit-Parametern.
Problem: Einschränkungen maximale Laufzeit und maximale Anzahl physischer Qubits schließen sich gegenseitig aus
Die Ressourcenschätzung akzeptiert nur eine von maxDuration oder maxPhysicalQubits Einschränkungen. Wenn Sie sowohl maxDuration- als auch maxPhysicalQubits-Einschränkungen für einen einzelnen Auftrag angeben, tritt der BothDurationAndPhysicalQubitsProvided-Fehler auf.
Problem: Ausführen des QIR-Schätzungsanzahlcontainers: undefiniertes Symbol __quantum__rt__result_record_output
Dieser Fehler wird angezeigt, wenn Sie QIR für Qiskit-Schaltkreise mit dem paket qiskit_qir Python generieren und den Parameter record_output nicht auf False festlegen.
Führen Sie eine der folgenden Aktionen aus, um diesen Fehler zu vermeiden:
- Verwenden Sie das modul
qdk.azurePython, um Qiskit-Schaltkreise an Azure Quantum zu übermitteln (empfohlen). - Wenn Sie das paket
qiskit_qirPython verwenden, legen Sie den Parameterrecord_outputaufFalsefest, bevor Sie den Schaltkreis übermitteln.
Azure Quantum Probleme mit der Erstellung von Arbeitsbereichen
Beim Erstellen eines Quantum-Arbeitsbereichs im Azure-Portal treten möglicherweise die folgenden Probleme auf.
Problem: Sie können nicht auf das Formular für die Arbeitsbereicherstellung im Azure-Portal zugreifen, und Sie werden stattdessen aufgefordert, sich für ein Abonnement zu registrieren.
Dieses Problem tritt auf, da Sie kein aktives Azure-Abonnement haben.
Wenn Sie sich für eine kostenlose 30-Tage-Testversion Azure Abonnement registrieren erhalten Sie kostenlose Azure Credits. Nachdem Sie alle Kostenlosen Gutschriften oder 30 Tage nach der Registrierung verwendet haben, müssen Sie ein Upgrade auf ein pay-as-you-go-Abonnement durchführen um weiterhin Azure Quantum Dienste zu verwenden. Wenn Sie über ein aktives Abonnement verfügen, können Sie über das Azure Portal auf das Formular zum Erstellen des Arbeitsbereichs zugreifen.
Eine Liste Ihrer Abonnements und zugehörigen Rollen finden Sie unter "Überprüfen Ihrer Abonnements".
Hinweis
Azure-Guthaben aus dem 30-tägigen kostenlosen Testabonnement sind nicht berechtigt, bei Quantenhardwareanbietern verwendet zu werden.
Problem: Die Option "Schnellerstellung" ist nicht verfügbar.
Sie müssen besitzer eines Abonnements sein, um die Option "Schnellerstellung " zu verwenden. Eine Liste Ihrer Abonnements und zugehörigen Rollen finden Sie unter "Überprüfen Ihrer Abonnements". Wenn Sie ein Abonnementmitwirkender sind, können Sie die Option "Erweitert erstellen" verwenden, um einen Arbeitsbereich zu erstellen.
Problem: Sie können keine Ressourcengruppe oder ein Speicherkonto erstellen oder auswählen.
Dieses Problem tritt auf, da Sie nicht über die erforderliche Autorisierung auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene verfügen. Weitere Informationen zu erforderlichen Zugriffsebenen finden Sie unter Rollenanforderungen zum Erstellen eines Arbeitsbereichs.
Problem: Fehlermeldung "Fehler bei der Bereitstellungsüberprüfung" wird angezeigt, wenn Sie "Erstellen" auswählen.
Diese Fehlermeldung kann weitere Details enthalten, z. B. "Der Client hat keine Autorisierung zum Ausführen von Aktionen.".
Dieses Problem tritt auf, da Sie nicht über die erforderliche Autorisierung auf Abonnement-, Ressourcengruppen- oder Speicherkontoebene verfügen. Weitere Informationen zu erforderlichen Zugriffsebenen finden Sie unter Rollenanforderungen zum Erstellen eines Arbeitsbereichs.
Wenn Ihnen kürzlich Zugriff gewährt wurde, müssen Sie die Seite möglicherweise aktualisieren. Neue Rollenzuweisungen können bis zu einer Stunde dauern, bis sie über zwischengespeicherte Berechtigungen im Stapel wirksam werden.
Problem: Auf der Registerkarte "Anbieter" wird kein bestimmter Quantenhardwareanbieter angezeigt.
Dieses Problem tritt auf, da der Anbieter die Abrechnungsregion, in der Ihr Abonnement festgelegt ist, nicht unterstützt. Eine Liste der Anbieter und deren Verfügbarkeit nach Land/Region finden Sie unter Globale Verfügbarkeit von Azure Quantum Anbietern.
Problem: Fehler beim Erstellen oder Hinzufügen/Entfernen von Anbietern für Arbeitsbereiche mit "ResourceDeploymentFailure" oder "ProviderDeploymentFailure".
Dieses Problem kann weitere Details enthalten, z. B. "ResourceDeploymentFailure – Der Ressourcenvorgang 'AzureAsyncOperationWaiting', der mit dem Terminalbereitstellungsstatus 'Failed' abgeschlossen wurde", oder "ProviderDeploymentFailure - Fehler beim Erstellen eines Plans für anbieter: <Name des Anbieters>".
Dieser Fehler tritt auf, da der Mandant Azure Marketplace Einkäufe nicht aktiviert hat. Führen Sie die Schritte in Aktivieren von Azure Marketplace Einkäufen aus, um Azure Marketplace Einkäufe zu aktivieren.
Problem: Die Bereitstellung eines Quantenarbeitsbereichs oder Speicherkontos schlägt fehl.
Wenn Sie versuchen, einen Quantum-Arbeitsbereich oder ein Speicherkonto bereitzustellen, erhalten Sie möglicherweise einen der folgenden Fehler:
- Arbeitsbereich: "Der Ressourcenschreibvorgang konnte nicht erfolgreich abgeschlossen werden, da er den Terminalbereitstellungsstatus 'Failed' erreicht hat.
- Speicherkonto: "Fehler bei der Vorlagenbereitstellung aufgrund eines Richtlinienverstoßes".
Dieses Problem kann auftreten, wenn Ihre Abonnementsicherheitsrichtlinie die Erstellung von Speicherkonten blockiert, für die der öffentliche Zugriff aktiviert ist. Der Azure Quantum-Dienst unterstützt nur Speicherkonten mit öffentlichem Internetzugang.
Um dies zu beheben, arbeiten Sie mit Ihrem Abonnementadministrator zusammen, um eine Ausnahme für das Speicherkonto zu erhalten, das Sie verwenden möchten.