Problemen met Azure Quantum oplossen

Wanneer u met de Azure Quantum-service werkt, kunt u deze veelvoorkomende problemen tegenkomen. Kijk hoe u ze kunt oplossen.

Taken verzenden

Probleem: ontbreekt targets

Als de target locatie waar u de taak wilt uitvoeren ontbreekt in de lijst met beschikbare target items, moet u waarschijnlijk bijwerken naar de nieuwste versie van de Quantum Development Kit voor Visual Studio Code. Zie De QDK bijwerken voor meer informatie.

Probleem: Bewerking retourneert een ongeldige statuscode 'Niet-geautoriseerd'

Stappen om dit probleem op te lossen:

  1. Open uw Azure Portal (https://portal.azure.com) en verifieer uw account.

  2. Selecteer onder Navigerende optie Abonnementen en selecteer uw abonnement.

  3. Klik op Toegangsbeheer (IAM) .

  4. Zoek onder Toegang controleren naar uw e-mailadres en selecteer het account.

  5. De rol Eigenaar of Inzender zou niet moeten worden weergegeven.

  6. Selecteer het tabblad Roltoewijzingen .

    Notitie

    Als u het tabblad Roltoewijzingen niet ziet, moet u mogelijk de portal uitvouwen tot volledig scherm of het <deelvenster uw naamtoewijzingen> sluiten.

  7. Selecteer de vervolgkeuzelijst Rol , selecteer Eigenaar of Inzender, voer vervolgens uw e-mailadres in en selecteer uw account.

  8. Selecteer Opslaan.

  9. U ziet nu dat uw accountset is geconfigureerd met de rol Eigenaar of Inzender .

  10. Creatie uw Azure Quantum-werkruimte opnieuw en dien vervolgens een taak in voor deze nieuwe werkruimte.

Probleem: 'Kan programma niet compileren' bij een poging om een Q#-programma te verzenden via de CLI

Wanneer u probeert een taak te verzenden vanaf de opdrachtprompt met behulp van de az quantum submit opdracht, kan het volgende foutbericht worden weergegeven:

az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)

Deze fout treedt op wanneer er een probleem is met het Q#-programma waardoor de compilatie mislukt.

Probleem: Compilerfout 'Onjuist aantal poortparameters'

Wanneer u een taak verzendt naar Quantinuum vanuit een lokale Jupyter Notebook- of opdrachtregelomgeving en de verouderde QASM-vertaler (OPENQASM 2.0) gebruikt, kan deze fout optreden:

Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters

Deze fout treedt op wanneer een komma ',' of een ander niet-puntteken wordt gebruikt als decimaalteken, zoals in veel talen gebruikelijk is. Vervang eventuele decimale scheidingstekens voor niet-punttekens door punten '.'.

// replace this line:
rx(1,5707963267948966) q[0];

// with this:
rx(1.5707963267948966) q[0];

Notitie

Dit probleem treedt niet op in gehoste notebooks in de Azure Quantum-portal, alleen in lokale ontwikkelomgevingen.

Probleem: Compilerfout 'niet beschikbaar voor de huidige compilatieconfiguratie'

Wanneer u een Q#-codecel uitvoert in een Jupyter Notebook in VS Code, kan de volgende fout optreden:

<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration

Deze fout geeft aan dat het QIR-profiel target is ingesteld op Basic en dat de betreffende functie het profiel Onbeperkttarget vereist. Het profiel instellen target op Onbeperkt:

  1. Selecteer in uw Q#-programma in VS Code Q#: QIR-basis op de onderste statusbalk.
  2. Selecteer Q#: onbeperkt in de opties die worden weergegeven in de bovenste statusbalk.

Probleem: Bewerking heeft een ongeldige statuscode 'Verboden' geretourneerd

Wanneer u uw eerste taak indient, krijgt u mogelijk de foutcode 'verboden'.

Dit probleem kan optreden tijdens het maken van de werkruimte: Azure Quantum kan de roltoewijzing die de nieuwe werkruimte koppelt aan het opslagaccount dat is opgegeven, niet voltooien. Een typisch scenario waarin deze situatie optreedt, is als het tabblad of webbrowservenster wordt gesloten voordat het maken van de werkruimte is voltooid.

U kunt controleren of u dit probleem met roltoewijzing ondervindt door de volgende stappen uit te voeren:

  • Navigeer naar uw nieuwe kwantumwerkruimte in Azure Portal
  • Selecteer onder Overzicht>Essentials>Opslagaccount op de koppeling opslagaccount
  • Selecteer IAM (Toegangsbeheer) in de linkernavigatiebalk.
  • Selecteer Roltoewijzingen
  • Controleer of uw werkruimte wordt weergegeven als inzender
  • Als de werkruimte niet wordt weergegeven als inzender , kunt u het volgende doen:
    • Creatie een nieuwe werkruimte en wacht totdat het maken van de werkruimte is voltooid voordat u het tabblad of venster van de webbrowser sluit.
    • De juiste roltoewijzing toevoegen onder het opslagaccount
      • Access Control (IAM) > Roltoewijzingen toevoegen
      • Rolbijdrager >
      • Toegang toewijzen aan > gebruiker, groep of service-principal
      • Selecteer > [Werkruimtenaam]
      • Opslaan

Probleem: Taak mislukt met foutcode: QIRPreProcessingFailed

Wanneer u een taak naar een Rigetti-provider verzendt, mislukt de taak en wordt deze gerapporteerd in de console Taakbeheer in de Azure Portal:

Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled

Deze fout kan worden veroorzaakt door een afhankelijkheidsconflict met een eerdere versie van pyqir of qiskit-qir. Verwijder alle versies van pyqir, pyqir-*en qiskit-qir op uw lokale computer en installeer of werk het python-pakket azure-quantum bij met behulp van de parameter [qiskit]:

pip install --upgrade azure-quantum[qiskit]

Probleem: Basisinformatie over mislukte taken ophalen

Nadat u een taak naar een hardware targethebt verzonden, kan uw taak enkele uren of zelfs één of twee dagen in de wachtrij staan voordat deze mislukt.

Meer informatie over de fout ophalen:

  • Gebruik de get_results() methode met het taakobject om de uitvoer of het geretourneerde foutbericht weer te geven:
job.get_results()
  • Selecteer Operations > Job Management in uw Azure Portal-werkruimte en selecteer vervolgens de taaknaam om een detailvenster te openen.
  • Selecteer operations > providers in uw Azure Portal-werkruimte. Controleer de beschikbaarheid van de target machine. Taken die zijn verzonden naar targets met de status Gedegradeerd , blijven mogelijk langer in de wachtrij dan normaal. Soms worden de taken verwerkt, maar soms treedt er een time-out op en wordt de fout target Niet beschikbaar geretourneerd.

Probleem: ik word steeds gevraagd om te verifiëren wanneer ik programmatisch verbinding maak met mijn werkruimte

Als u de Azure Quantum Python SDK gebruikt (bijvoorbeeld in Jupyter-notebooks) en verbinding maakt met uw werkruimte met behulp van de klasse AzureQuantumProvider, krijgt u mogelijk een pop-upvenster te zien voor verificatie bij Azure telkens wanneer u uw script uitvoert.

Dit gebeurt omdat uw beveiligingstoken elke keer dat u het script uitvoert, opnieuw wordt ingesteld.

U kunt dit probleem oplossen door de Azure CLI uit te voeren az login . Zie az login voor meer informatie.

Probleem: na het bijwerken van het azure-quantum-pakket krijg ik de fout 'ModuleNotFoundError: Geen module met de naam qiskit.tools' bij het bewaken van een taak

Vanaf Qiskit 1.0 is de qiskit.tools module, die vereist is voor de job_monitor() functie, afgeschaft. Als u taken wilt bewaken, gebruikt u de wait_for_final_state() functies of result .

job = MyTarget.run(circuit, shots=100)

# to wait until the job is complete
job.wait_for_final_state() 

# to return the results of the job
result = job.result()

Azure Quantum Resource Estimator

De volgende veelvoorkomende scenario's kunnen voorkomen dat resourceschattingstaken worden voltooid. Bekijk hoe u deze kunt oplossen.

Probleem: Kwantumalgoritmen moeten ten minste één T-status of -meting bevatten

Om rekening te houden met de toewijzing van een willekeurig kwantumprogramma aan een 2D-matrix van logische qubits, gaat de Resource Estimator ervan uit dat Parallel Synthesis Sequential Pauli Computation (PSSPC) (zie arXiv:2211.07629, Bijlage D) wordt uitgevoerd op het invoerprogramma. In deze benadering worden alle Clifford-bewerkingen door alle T-poorten, draaipoorten en meetbewerkingen verzonden, waardoor één Clifford-bewerking overblijft die efficiënt kan worden geëvalueerd op klassieke wijze. Daarom vereist een kwantumprogramma dat geen T-statussen bevat, bijvoorbeeld van T-poorten of draaipoorten, noch meetbewerkingen geen fysieke kwantumcomputingresources.

Error message: Algorithm requires at least one T state or measurement to estimate resources

Probleem: Foutpercentage fysieke T-poort is te hoog

Het foutpercentage van de logische T-status is afhankelijk van het foutbudget en het aantal T-statussen in het kwantumprogramma. T-factory's worden gebruikt om T-statussen te maken met het vereiste logische T-statusfoutpercentage van fysieke T-poorten, die een fysieke T-poortfoutpercentage hebben. Normaal gesproken is het foutenpercentage van de fysieke T-poort veel hoger dan het vereiste foutpercentage van de logische T-poort. In sommige scenario's is het foutpercentage van de fysieke T-poort veel hoger in vergelijking met het vereiste foutpercentage van de logische T-status, zodat er geen T-factory kan worden gevonden die logische T-statussen van voldoende kwaliteit kan produceren.

Error message: No T factory can be found, because the required logical T state error rate is too low

Dit is wat u in een dergelijk scenario kunt doen:

  • Verhoog het foutbudget, ofwel het totaal of het deel voor T-statussen.
  • Verminder de foutfrequentie van de fysieke T-poort in de qubitparameters.
  • Verminder het aantal T-toestanden in het kwantumprogramma door T-poorten, draaipoorten en Toffoli-poorten te verminderen.

Probleem: Foutpercentage fysieke T-poort is te laag

Er is ook het tegenovergestelde scenario, waarin het foutpercentage van de fysieke T-poort lager is dan het vereiste foutpercentage voor logische T-status. In dergelijke gevallen is geen T-fabriek vereist, omdat de fysieke T-poortfoutfrequentie al van voldoende kwaliteit is. Dit vereist echter een zorgvuldige overweging van de impact van overdrachtseenheden die de fysieke T-statussen overdragen van codeafstand 1 tot de codeafstand van het algoritme (zie arXiv:2211.07629, Bijlage C). In de aanwezigheid van T-fabrieken zijn de kosten van overdrachtseenheden over het algemeen verwaarloosbaar.

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.

Dit is wat u in een dergelijk scenario kunt doen:

  • Verhoog het foutpercentage van de fysieke T-poort in de qubitparameters tot het vereiste foutpercentage voor logische T-status.
  • Verminder het foutbudget of alleen het deel voor de T-statussen.

Probleem: Foutpercentage moet een getal tussen 0 en 1 zijn

Foutpercentages moeten altijd waarden tussen 0 en 1 zijn. Bovendien moet de fysieke foutfrequentie voor poorten en metingen voor een effectieve foutcorrectie lager zijn dan een waarde die afhankelijk is van de eigenschappen van de foutcode en het vereiste logische foutpercentage.

In een dergelijk scenario kunt u het volgende doen:

  • Verhoog het foutenbudget, ofwel het totaal of het gedeelte voor logische fouten.
  • Verminder de fysieke foutsnelheden in de qubitparameters.

Probleem: beperkingen voor maximale runtime en maximum aantal fysieke qubits sluiten elkaar uit

De resource-estimator accepteert op dat moment slechts één van maxDuration de beperkingen of maxPhysicalQubits , maar niet twee. Als u zowel als maxDurationmaxPhysicalQubitsbeperkingen opgeeft voor één taak, wordt de BothDurationAndPhysicalQubitsProvided fout geretourneerd.

Probleem: QIR-schattingsaantallen uitvoeren: niet-gedefinieerd symbool __quantum__rt__result_record_output

Deze fout is het gevolg van het genereren van QIR voor Qiskit-circuits via het qiskit_qir Python-pakket zonder de record_output parameter in te stellen op False.

Voer een van de volgende handelingen uit om deze fout te voorkomen:

  • Gebruik het azure_quantum Python-pakket om Qiskit-circuits naar Azure Quantum te verzenden (aanbevolen).
  • Wanneer u het qiskit_qir Python-pakket gebruikt, moet u de record_output parameter False instellen op voordat u het circuit verzendt.

Een Azure Quantum-werkruimte maken

De volgende problemen kunnen optreden wanneer u de Azure Portal gebruikt om een werkruimte te maken.

Probleem: U hebt geen toegang tot het formulier voor het maken van een werkruimte in de Azure Portal. U wordt gevraagd u te registreren voor een abonnement

Dit probleem treedt op omdat u geen actief abonnement hebt.

U hebt zich bijvoorbeeld geregistreerd voor het gratis azure-proefabonnement van 30 dagen, waaronder $ 200 (USD) gratis Azure-tegoed voor gebruik op Azure-services. Houd er rekening mee dat deze Azure-tegoeden niet hetzelfde zijn als Azure Quantum-tegoeden en niet in aanmerking komen voor gebruik op kwantumhardwareproviders. Nadat u zich 30 dagen hebt geregistreerd of nadat u het gratis Azure-tegoed van $ 200 hebt verbruikt (afhankelijk van wat zich het eerst voordoet), moet u upgraden naar een abonnement met betalen per gebruik om Azure Quantum-services te blijven gebruiken. Zodra u een actief abonnement hebt, hebt u met de Azure Portal toegang tot het formulier voor het maken van de werkruimte.

Zie Uw abonnementen controleren voor een lijst met uw abonnementen en bijbehorende rollen.

Probleem: de optie Snel maken is niet beschikbaar

U moet eigenaar zijn van het abonnement dat u selecteert om de optie Snel maken te kunnen gebruiken. Zie Uw abonnementen controleren voor een lijst met uw abonnementen en bijbehorende rollen. Als u een abonnementsbijdrager bent, kunt u de optie Geavanceerd maken gebruiken om een werkruimte te maken.

Probleem: u kunt geen resourcegroep of opslagaccount maken of selecteren

Dit probleem treedt op omdat u niet over de vereiste autorisatie beschikt op het niveau van het abonnement, de resourcegroep of het opslagaccount. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.

Probleem: het foutbericht Implementatievalidatie is mislukt wordt weergegeven nadat u Creatie hebt geselecteerd

Dit foutbericht kan meer details bevatten, zoals 'De client is niet gemachtigd om actie uit te voeren'.

Dit probleem treedt op omdat u niet over de vereiste autorisatie beschikt op het niveau van het abonnement, de resourcegroep of het opslagaccount. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.

Als onlangs toegang is verleend, moet u de pagina mogelijk vernieuwen. Het kan soms tot een uur duren voordat nieuwe roltoewijzingen van kracht worden via machtigingen in de cache voor de hele stack.

Probleem: U ziet geen specifieke kwantumhardwareprovider op het tabblad Providers

Dit probleem treedt op omdat de provider geen ondersteuning biedt voor de factureringsregio waarin uw abonnement is ingesteld. Als uw abonnement bijvoorbeeld is ingesteld in Israël, wordt Rigetti niet weergegeven als een beschikbare provider op het tabblad Providers. Zie Wereldwijde beschikbaarheid van Azure Quantum-providers voor een lijst met providers en hun beschikbaarheid per land/regio.

Probleem: Het maken of toevoegen/verwijderen van een werkruimte mislukt met ResourceDeploymentFailure of ProviderDeploymentFailure

Dit probleem kan meer details bevatten, zoals 'ResourceDeploymentFailure - De resourcebewerking 'AzureAsyncOperationWaiting' is voltooid met de inrichtingsstatus 'Mislukt' van de terminal of 'ProviderDeploymentFailure - Kan geen plan maken voor provider: <naam van de provider>'.

Dit gebeurt omdat de tenant Azure Marketplace aankopen niet heeft ingeschakeld. Volg de stappen in Azure Marketplace aankopen inschakelen om Azure Marketplace aankopen in te schakelen.

Azure Quantum Portal

Probleem: opgeslagen notitieblokken worden niet geladen

Nadat u Notitieblokken in uw werkruimte hebt geselecteerd, wordt in de lijst met uw opgeslagen notitieblokken een voortgangsbalk weergegeven, maar wordt deze nooit geladen.

Dit kan twee oorzaken hebben:

  1. Als het opslagaccount niet meer bestaat. Dit kan gebeuren als het opslagaccount dat aan de werkruimte is gekoppeld, is verwijderd. Als u dit wilt controleren, selecteert u de pagina Overzicht voor de werkruimte en selecteert u de koppeling naar het opslagaccount. Als het opslagaccount is verwijderd, ziet u de fout 404 - Niet gevonden .

  2. Als de beheerde identiteit van de werkruimte geen Inzender voor het opslagaccount is. Controleer of de identiteit van de werkruimte (die dezelfde naam gebruikt als de werkruimte) nog steeds de rol van Inzender heeft toegewezen aan het opslagaccount. Als u dit wilt controleren, selecteert u de pagina Overzicht voor de werkruimte en selecteert u de koppeling naar het opslagaccount. Selecteer op de pagina Overzicht voor het opslagaccount de optie Toegangsbeheer (IAM) en controleer of de werkruimte wordt vermeld onder Inzender.