Problemen oplossen in Azure Quantum

Wanneer u met de Azure Quantum-service werkt, ondervindt u mogelijk verbindingsproblemen of problemen met betrekking tot taken. In dit artikel wordt uitgelegd hoe u deze problemen kunt oplossen.

Verbindingsproblemen met de werkruimte

Probleem: ik kan me niet verifiëren bij Azure Quantum met pytket-azure

Wanneer u probeert te verifiëren bij Azure Quantum met het pakket pytket-azure in een CI-omgeving met behulp van de omgevingsvariabelen "AZURE_TENANT_ID", "AZURE_CLIENT_ID" en "AZURE_CLIENT_SECRET", kan de volgende fout optreden:

Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.

U kunt dit probleem oplossen door in plaats daarvan een verbindingsreeks en de omgevingsvariabele "AZURE_QUANTUM_CONNECTION_STRING" te gebruiken om te verifiëren. Zie Connect with a verbindingsreeks (Verbinding maken met een verbindingsreeks

connection_string = "" # Add your connection string

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Problemen met het indienen van taken

Probleem: ik kan de target waarnaar ik mijn taak wil verzenden, niet vinden

Als de Azure Quantum target waarop u de taak wilt uitvoeren, zich niet in de lijst met beschikbare target bevindt, werkt u vervolgens bij naar de nieuwste versie van de Quantum Development-kit (QDK) voor Visual Studio Code (VS Code). Zie De QDK bijwerken voor meer informatie.

Probleem: De bewerking retourneert een ongeldige statuscode 'Niet geautoriseerd'

Volg deze stappen om dit probleem op te lossen:

  1. Meld u aan bij de Azure-portal en verifieer uw account.
  2. Ga naar de Quantum-werkruimte waarnaar u een taak wilt verzenden.
  3. Selecteer toegangsbeheer (IAM) in het navigatiedeelvenster van de werkruimte.
  4. Selecteer de knop Mijn toegang weergeven . Het deelvenster Toewijzingen wordt geopend.
  5. Controleer in de kolom Rol van de tabel Roltoewijzingen of u de rol Eigenaar of Inzender hebt.
  6. Als u geen van beide rollen hebt, vraagt u de abonnementsbeheerder om u de rol Eigenaar of Inzender voor deze werkruimte toe te wijzen.

Probleem: 'AuthorizationFailure - Deze aanvraag is niet gemachtigd om deze bewerking uit te voeren'

Als u dit bericht krijgt, zelfs wanneer u een geldige verbinding met de Azure Quantum-service hebt, is het opslagaccount mogelijk geconfigureerd om openbare netwerktoegang te blokkeren. De Azure Quantum-service ondersteunt alleen opslagaccounts met openbare internettoegang.

Voer de volgende stappen uit om de instellingen van het opslagaccount te controleren:

  1. Meld u aan bij Azure portal.
  2. Ga naar uw Quantum-werkruimte.
  3. Selecteer op de pagina Overzicht het opslagaccount.
  4. Vouw in het navigatiedeelvenster de vervolgkeuzelijst Beveiliging en netwerken uit en selecteer Netwerken.
  5. Selecteer in de sectie Openbare netwerktoegang van het tabblad Openbare toegang de knop Beheren .
  6. Selecteer Inschakelen voor de instelling openbare netwerktoegang. Voor de instelling Bereik voor openbare netwerktoegang, selecteer Inschakelen vanuit alle netwerken.
  7. Selecteer de knop Opslaan.

Probleem: 'Kan programma niet compileren' wanneer u een Q#-programma verzendt vanuit Azure CLI

Wanneer u een taak verzendt met de opdracht az quantum submit Azure CLI, wordt mogelijk het volgende foutbericht 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 dat ervoor zorgt dat de compilatie mislukt. Zorg ervoor dat uw Q#-code de juiste syntaxis heeft.

Probleem: Compilerfout 'Onjuist aantal poortparameters'

Wanneer u een taak verzendt naar Quantinuum vanuit een lokale Jupyter Notebook of CLI-omgeving en u 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 een decimaalteken. Vervang alle decimale scheidingstekens voor niet-perioden door puntjes ".". Voorbeeld:

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

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

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 u het QIR-profiel (kwantum tussenliggende weergave) target instelt op Base wanneer voor de functie het onbeperktetarget profiel is vereist. Als u geen profieltype opgeeft target , wordt de compiler automatisch ingesteld target op Onbeperkt.

Probleem: De bewerking heeft een ongeldige statuscode 'Verboden' geretourneerd

Wanneer u uw eerste taak verzendt, krijgt u mogelijk een 'forbidden' foutcode.

Dit probleem treedt op wanneer u een nieuwe werkruimte maakt in de Azure-portal en Azure Quantum de roltoewijzing die de werkruimte koppelt aan het opgegeven opslagaccount niet kan voltooien. Dit kan gebeuren wanneer u het tabblad of de webbrowser sluit voordat het maken van de werkruimte is voltooid.

Voer de volgende stappen uit om te controleren of u dit probleem met roltoewijzing ondervindt:

  1. Ga naar uw Quantum-werkruimte in de Azure-portal.
  2. Selecteer op de pagina Overzicht het opslagaccount.
  3. Selecteer in het navigatiedeelvenster Access Control (IAM).
  4. Kies het tabblad Roltoewijzingen .
  5. Controleer in de kolom Rol of het opslagaccount van uw werkruimte de rol Inzender voor opslagaccounts en de rol Inzender voor opslagblobgegevens heeft.

Als de werkruimte niet beide rollen in het opslagaccount heeft, voert u een van de volgende handelingen uit:

  • Maak een nieuwe werkruimte en zorg ervoor dat het maken van de werkruimte is voltooid voordat u het browservenster of tabblad sluit.
  • Wijs de rollen Bijdrager voor opslagaccount en Bijdrager voor opslagblobgegevens toe aan uw werkruimte op het opslagaccount.

Probleem: Taak mislukt met foutcode: QIRPreProcessingFailed

Wanneer u een taak verzendt naar een Rigetti-target en de taak mislukt, ziet u mogelijk het volgende foutbericht in de Taakbeheerconsole voor uw Quantum-werkruimte 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 de bibliotheek qdk Python bij met de azure en qiskit extra's:

pip install --upgrade "qdk[azure,qiskit]"

Probleem: Het ophalen van basisinformatie over mislukte taken

Wanneer u een taak naar een hardware targetverzendt, kan uw taak enkele uren of dagen in de wachtrij staan voordat de taak mislukt.

Ga op een van de volgende manieren te werk om meer informatie over de taakfout op te halen:

  • Als u de taakuitvoer of het foutbericht wilt weergeven, gebruikt u de methode get_results() uit de module qdk.azure Python:

    job.get_results()
    
  • In uw Quantum-werkruimte in de Azure-portal, Ga naar het deelvenster Taakbeheer in de vervolgkeuzelijst Operations en kies vervolgens de taak Naam om het deelvenster Taakdetails te openen.

  • Ga in uw Quantum-werkruimte in de Azure-portal naar het deelvenster Providers in de vervolgkeuzelijst Operations. Controleer of de target hardware beschikbaar is. Als de target status gedegradeerd is, blijven taken mogelijk langer in de wachtrij dan normaal. Soms worden de taken verwerkt, maar soms treedt er een time-out op en wordt er een fout geretourneerd van target niet beschikbaar.

Probleem: Azure Quantum mij vraagt om me te verifiëren wanneer ik programmatisch verbinding maak met mijn werkruimte

Als u de Azure Quantum Python SDK gebruikt en u verbinding maakt met uw werkruimte met behulp van de klasse AzureQuantumProvider, kan er een pop-upvenster optreden om te verifiëren bij Azure telkens wanneer u het script uitvoert.

Dit pop-upvenster treedt op omdat uw beveiligingstoken telkens opnieuw wordt ingesteld wanneer u het script uitvoert.

Voer az login uit vanuit de Azure CLI om dit probleem op te lossen. Zie az login voor meer informatie.

Problemen met Microsoft Quantum Resource Estimator

De volgende problemen kunnen ertoe leiden dat resourceramingstaken mislukken.

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

Om rekening te houden met het toewijzen van een willekeurig kwantumprogramma aan een 2D-matrix met logische qubits, gaat de resource-estimator ervan uit dat Parallel Synthesis Sequential Pauli Computation (PSSPC) wordt uitgevoerd in het invoerprogramma. In die benadering worden alle Clifford-bewerkingen gecommuteerd met alle T-poorten, rotatiepoorten en meetoperaties, resulterend in een enkele Clifford-bewerking die efficiënt klassiek kan worden geëvalueerd. Daarom vereist een kwantumprogramma dat geen T-toestanden bevat, bijvoorbeeld van T-poorten of rotatiepoorten, of meetbewerkingen, geen fysieke kwantumcomputingbronnen. Zie arXiv:2211.07629, bijlage Dvoor meer informatie over Parallel Synthesis Sequential Pauli Computation.

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

Probleem: foutpercentage van 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-factories worden gebruikt om T-toestanden te creëren met het vereiste foutpercentage van logische T-toestanden vanuit fysieke T-poorten, die een foutpercentage van fysieke T-poorten hebben. Normaal gesproken is de foutsnelheid van de fysieke T-poort hoger dan het vereiste foutpercentage van de logische T-poort. In sommige scenario's is de foutsnelheid van de fysieke T-poort aanzienlijk hoger in vergelijking met het vereiste foutpercentage van de logische T-status, zodat er geen T-fabriek 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

Ga als volgt te werk om dit probleem op te lossen:

  • Verhoog het foutbudget, hetzij het totale budget of het gedeelte voor T-states.
  • Verminder de foutsnelheid van de fysieke T-poort in de qubitparameters.
  • Verminder het aantal T-statussen in het kwantumprogramma door T-poorten, draaipoorten en Toffoli-poorten te verminderen.

Probleem: foutpercentage van fysieke T-poort is te laag

Wanneer de foutfrequentie van de fysieke T-poort lager is dan de vereiste foutfrequentie van de logische T-status, hebt u geen T-fabriek nodig omdat de foutsnelheid van de fysieke T-poort voldoende is. U moet echter nog steeds rekening houden met de impact van overdrachtseenheden die de fysieke T-statussen overdragen van codeafstand 1 naar de codeafstand van het algoritme (zie arXiv:2211.07629, bijlage C). In het algemeen zijn de kosten van overdrachtseenheden te verwaarlozen wanneer T-fabrieken aanwezig zijn.

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.

Ga als volgt te werk om dit probleem op te lossen:

  • Verhoog de foutsnelheid van de fysieke T-poort in de qubitparameters tot de vereiste foutfrequentie van de logische T-status.
  • Verlaag het foutbudget of alleen het deel voor de T-states.

Probleem: Foutpercentage moet een getal tussen 0 en 1 zijn

Foutpercentages kunnen slechts een waarde tussen 0 en 1 hebben. Voor een effectieve foutcorrectie moet de fysieke foutsnelheid voor poorten en metingen onder een waarde liggen die afhankelijk is van de eigenschappen van de foutcode en de vereiste logische foutsnelheid.

Ga als volgt te werk om dit probleem op te lossen:

  • Verhoog het foutenbudget, totaal of het deel voor logische fouten.
  • Verminder de fysieke foutpercentages in de qubitparameters.

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

De resource estimator accepteert slechts een van maxDuration of maxPhysicalQubits beperkingen. Als u zowel als maxDurationmaxPhysicalQubitsbeperkingen voor één taak opgeeft, retourneert de taak de BothDurationAndPhysicalQubitsProvided fout.

Probleem: Een schattingscontainer voor QIR uitvoeren: ongedefinieerd symbool __quantum__rt__result_record_output

Deze fout wordt weergegeven wanneer u QIR voor Qiskit-circuits genereert met het qiskit_qir Python-pakket en u de parameter record_output niet instelt op False.

Ga op een van de volgende manieren te werk om deze fout te voorkomen:

  • Gebruik de module qdk.azure Python om Qiskit-circuits te verzenden naar Azure Quantum (aanbevolen).
  • Wanneer u het pakket qiskit_qir Python gebruikt, stelt u de parameter record_output in op False voordat u het circuit verzendt.

problemen met het creëren van een Azure Quantum werkruimte

Mogelijk ondervindt u de volgende problemen wanneer u een Quantum-werkruimte maakt in de Azure-portal.

Probleem: u hebt geen toegang tot het formulier voor het maken van de werkruimte in de Azure-portal en u wordt gevraagd om u aan te melden voor een abonnement.

Dit probleem treedt op omdat u geen actief Azure-abonnement hebt.

Als u zich aanmeldt voor een gratis proefabonnement van 30 dagen op Azure, krijgt u gratis Azure tegoeden. Nadat u al uw gratis tegoed heeft gebruikt, of 30 dagen nadat u zich hebt geregistreerd, moet u upgraden naar een pay-as-you-go-abonnement om Azure Quantum-diensten te blijven gebruiken. Wanneer u een actief abonnement hebt, kunt u met de Azure-portal toegang krijgen tot het formulier voor het maken van de werkruimte.

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

Notitie

Azure-kredieten van het gratis proefabonnement van 30 dagen voor Azure komen niet in aanmerking voor gebruik bij kwantumhardwareproviders.

Probleem: de optie Snel maken is niet beschikbaar

U moet eigenaar van een abonnement zijn om de optie Snel maken te kunnen gebruiken. Zie Uw abonnementen controleren voor een lijst met uw abonnementen en bijbehorende rollen. Als u een inzender voor een abonnement 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 beschikt over de autorisatie die is vereist op abonnements-, resourcegroep- of opslagaccountniveau. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.

Probleem: er wordt een foutbericht 'Implementatievalidatie mislukt' weergegeven wanneer u Maken kiest

Dit foutbericht bevat mogelijk meer details, zoals 'De client heeft geen autorisatie om actie uit te voeren'.

Dit probleem treedt op omdat u niet beschikt over de autorisatie die is vereist op abonnements-, resourcegroep- of opslagaccountniveau. Zie Rolvereisten voor het maken van een werkruimte voor meer informatie over vereiste toegangsniveaus.

Als u onlangs toegang hebt gekregen, moet u de pagina mogelijk vernieuwen. Het kan maximaal één uur duren voordat nieuwe roltoewijzingen van kracht worden ten opzichte van machtigingen in de cache in de 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. Zie Globale beschikbaarheid van Azure Quantum providers voor een lijst met providers en hun beschikbaarheid per land/regio.

Probleem: het aanmaken van werkruimten of het toevoegen/verwijderen van providers mislukt met 'ResourceDeploymentFailure' of 'ProviderDeploymentFailure'

Dit probleem kan meer details bevatten, zoals "ResourceDeploymentFailure - De resourcebewerking 'AzureAsyncOperationWaiting' is geëindigd met de definitieve status 'Mislukt'", en "ProviderDeploymentFailure - Kan geen plan maken voor provider: <Naam van de provider>".

Deze fout treedt op omdat de tenant Azure Marketplace aankopen niet heeft ingeschakeld. Volg de stappen in Azure Marketplace-aankopen inschakelen om aankopen in de Azure Marketplace in te schakelen.

Probleem: implementatie van een kwantumwerkruimte of opslagaccount mislukt

Wanneer u een Quantum-werkruimte of opslagaccount probeert te implementeren, krijgt u mogelijk een van de volgende fouten:

  • Werkruimte: "De schrijfbewerking van de resource is niet succesvol voltooid, omdat het de terminal toewijzingsstatus 'Mislukt' heeft bereikt".
  • Opslagaccount: 'De sjabloonimplementatie is mislukt vanwege beleidsschending'.

Dit probleem kan optreden als uw abonnementsbeveiligingsbeleid het maken van opslagaccounts blokkeert waarvoor openbare toegang is ingeschakeld. De Azure Quantum-service ondersteunt alleen opslagaccounts met openbare internettoegang.

U kunt dit oplossen door samen met uw abonnementsbeheerder een uitzondering te krijgen voor het opslagaccount dat u wilt gebruiken.