Dela via


Felsöka Azure Quantum

När du arbetar med Azure Quantum-tjänsten kan du stöta på dessa vanliga problem. Se hur du kan lösa dem.

Skicka jobb

Problem: Saknas targets

Om den target plats där du vill köra jobbet saknas i den tillgängliga target listan måste du förmodligen uppdatera till den senaste versionen av Quantum Development Kit för Visual Studio Code. Mer information finns i Uppdatera QDK.

Problem: Åtgärden returnerar en ogiltig statuskod "Obehörig"

Steg för att lösa det här problemet:

  1. Öppna Azure-portalen (https://portal.azure.com) och autentisera ditt konto.

  2. Under Navigera väljer du Prenumerationer och väljer din prenumeration.

  3. Välj Åtkomstkontroll (IAM) .

  4. Under Kontrollera åtkomst söker du efter din e-postadress och väljer kontot.

  5. Du bör inte se en ägar- eller deltagarroll i listan.

  6. Välj fliken Rolltilldelningar.

    Kommentar

    Om du inte ser fliken Rolltilldelningar kan du behöva expandera portalen till helskärmsläge eller stänga <fönstret för namntilldelningar>.

  7. Välj listrutan Roll, välj antingen Ägare eller Deltagare, ange din e-postadress och välj ditt konto.

  8. Välj Spara.

  9. Nu bör du se din kontouppsättning konfigurerad med rollen Ägare eller Deltagare .

  10. Skapa din Azure Quantum-arbetsyta igen och skicka sedan ett jobb mot den nya arbetsytan.

Problem: "Det gick inte att kompilera programmet" när ett Q#-program skulle skickas via CLI

När du försöker skicka ett jobb i kommandotolken med kommandot az quantum submit kan följande felmeddelande visas:

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

Det här felet uppstår när det finns ett problem med Q#-programmet som gör att kompilering misslyckas.

Problem: Kompilatorfel "Fel antal grindparametrar"

När du skickar ett jobb till Quantinuum från en lokal Jupyter Notebook- eller kommandoradsmiljö och använder den äldre QASM-översättaren (OPENQASM 2.0) kan det här felet uppstå:

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

Det här felet uppstår när ett kommatecken "" eller ett annat tecken som inte är punkttecken används som decimaltecken, vilket är vanligt på många språk. Ersätt alla decimalavgränsare som inte är periodiska med perioderna ".".

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

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

Kommentar

Det här problemet uppstår inte i värdbaserade notebook-filer i Azure Quantum-portalen, endast i lokala utvecklingsmiljöer.

Problem: Kompilatorfelet "inte tillgängligt för den aktuella kompileringskonfigurationen"

När du kör en Q#-kodcell i en Jupyter Notebook i VS Code kan felet uppstå:

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

Det här felet anger att QIR-profilen target är inställd på Basic och att funktionen i fråga kräver den obegränsadetarget profilen. Så här anger du profilen target till Obegränsad:

  1. I Q#-programmet i VS Code väljer du Q#: QIR-bas i det nedre statusfältet.
  2. Från alternativen som visas i det övre statusfältet väljer du Q#: obegränsad.

Problem: Åtgärden returnerade en ogiltig statuskod "Förbjuden"

När du skickar ditt första jobb kan du få en "förbjuden" felkod.

Det här problemet kan uppstå när arbetsytan skapas: Azure Quantum kan inte slutföra rolltilldelningen som länkar den nya arbetsytan till det lagringskonto som angavs. Ett typiskt scenario för den här situationen inträffar om fliken eller webbläsarens fönster stängs innan arbetsytan har skapats.

Du kan kontrollera att du stöter på det här rolltilldelningsproblemet genom att följa dessa steg:

  • Navigera till din nya kvantarbetsyta i Azure-portalen
  • Under Översikt av>Essentials Storage-konto väljer du på länken för lagringskontot>
  • I det vänstra navigeringsfältet väljer du Access Control (IAM)
  • Välj Rolltilldelningar
  • Kontrollera att arbetsytan visas som deltagare
  • Om arbetsytan inte visas som deltagare kan du antingen:
    • Skapa en ny arbetsyta och vänta tills arbetsytan har skapats innan du stänger webbläsarfliken eller fönstret.
    • Lägg till rätt rolltilldelning under lagringskontot
      • Åtkomstkontroll (IAM) > Lägg till rolltilldelningar
      • Rolldeltagare >
      • Tilldela åtkomst till > användaren, gruppen eller tjänstens huvudnamn
      • Välj > [Namn på arbetsyta]
      • Spara

Problem: Jobbet misslyckas med felkoden: QIRPreProcessingFailed

När du skickar ett jobb till en Rigetti-provider misslyckas jobbet och rapporteras i jobbhanteringskonsolen i Azure-portalen:

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

Det här felet kan orsakas av en beroendekonflikt med en tidigare version av pyqir eller qiskit-qir. Avinstallera alla versioner av pyqir, pyqir-*och qiskit-qir på den lokala datorn och installera eller uppdatera azure-quantum Python-paketet med parametern [qiskit] :

pip install --upgrade azure-quantum[qiskit]

Problem: Hämta grundläggande information om misslyckade jobb

När du har skickat ett jobb till en maskinvara targetkan jobbet sitta i kön i flera timmar, eller till och med en eller två dagar, innan det misslyckas.

Så här hämtar du mer information om felet:

  • get_results() Använd metoden med jobbobjektet för att visa utdata eller det returnerade felmeddelandet:
job.get_results()
  • I azure-portalens arbetsyta väljer du Hantering av driftjobb> och väljer sedan jobbnamnet för att öppna ett informationsfönster.
  • Välj Driftprovidrar >på azure-portalens arbetsyta. Kontrollera datorns target tillgänglighet. Jobb som skickas till targets med statusen Degraderad kan stanna i kön längre än vanligt. Ibland bearbetas jobben, men ibland överskrider de tidsgränsen och returnerar ett fel om target att de inte är tillgängliga.

Problem: Jag uppmanas att autentisera när jag ansluter programmatiskt till min arbetsyta

Om du använder Azure Quantum Python SDK (i Jupyter Notebooks till exempel) och ansluter till din arbetsyta med klassen AzureQuantumProvider kan du uppleva ett popup-fönster för att autentisera till Azure varje gång du kör skriptet.

Detta beror på att din säkerhetstoken återställs varje gång du kör skriptet.

Du kan lösa det här problemet genom att köra az login med hjälp av Azure CLI. Mer information finns i az login.

Problem: När jag har uppdaterat azure-quantum-paketet får jag felet "ModuleNotFoundError: Ingen modul med namnet qiskit.tools" när jag övervakar ett jobb

Från och med Qiskit 1.0 har modulen qiskit.tools , som krävs för job_monitor() funktionen, blivit inaktuell. Om du vill övervaka jobb använder wait_for_final_state() du funktionerna eller 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

Följande vanliga scenarier kan förhindra att resursuppskattningsjobb slutförs. Se hur du löser dem.

Problem: Kvantalgoritmen måste innehålla minst ett T-tillstånd eller mått

För att ta hänsyn till mappningen av ett godtyckligt kvantprogram till en 2D-matris med logiska kvantbitar förutsätter Resursberäknaren att Parallell syntes Sekventiell Pauli-beräkning (PSSPC) (se arXiv:2211.07629, bilaga D) utförs i indataprogrammet. I det tillvägagångssättet omvandlas alla Clifford-operationer genom alla T-grindar, rotationsportar och mätåtgärder, vilket lämnar en enda Clifford-operation som effektivt kan utvärderas klassiskt. Därför kräver inte ett kvantprogram som varken innehåller T-tillstånd, till exempel från T-portar eller rotationsportar, eller mätåtgärder några fysiska kvantberäkningsresurser.

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

Problem: Felfrekvensen för fysisk T-grind är för hög

Felfrekvensen för logiskt T-tillstånd beror på felbudgeten och antalet T-tillstånd i kvantprogrammet. T-fabriker används för att skapa T-tillstånd med den nödvändiga logiska T-tillståndsfelfrekvensen från fysiska T-portar, som har en fysisk T-grindfelfrekvens. Normalt är felfrekvensen för den fysiska T-grinden mycket högre än den nödvändiga logiska T-grindens felfrekvens. I vissa scenarier är felfrekvensen för den fysiska T-grinden så mycket högre jämfört med den nödvändiga felfrekvensen för logiskt T-tillstånd, så att ingen T-fabrik kan hittas som kan ge logiska T-tillstånd av tillräcklig kvalitet.

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

Här är vad du kan göra i ett sådant scenario:

  • Öka felbudgeten, antingen total eller delen för T-tillstånd.
  • Minska felfrekvensen för den fysiska T-grinden i kvantbitsparametrarna.
  • Minska antalet T-tillstånd i kvantprogrammet genom att minska T-portar, rotationsportar och Toffoli-portar.

Problem: Felfrekvensen för fysisk T-grind är för låg

Det finns också det motsatta scenariot, där felfrekvensen för den fysiska T-grinden är lägre än den obligatoriska felfrekvensen för logiskt T-tillstånd. I sådana fall krävs ingen T-fabrik, eftersom den fysiska T-grindens felfrekvens redan är av tillräcklig kvalitet. Detta kräver dock en noggrann bedömning av effekten av överföringsenheter som överför de fysiska T-tillstånden från kodavstånd 1 till algoritmens kodavstånd (se arXiv:2211.07629, bilaga C). I allmänhet är kostnaden för överföringsenheter försumbar i närvaro av T-fabriker.

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.

Här är vad du kan göra i ett sådant scenario:

  • Öka felfrekvensen för den fysiska T-grinden i kvantbitsparametrarna till den obligatoriska felfrekvensen för logiskt T-tillstånd.
  • Minska felbudgeten eller bara delen för T-tillstånden.

Problem: Felfrekvensen måste vara ett tal mellan 0 och 1

Felfrekvenser bör alltid vara värden mellan 0 och 1. För att felkorrigeringen ska vara effektiv måste dessutom den fysiska felfrekvensen för grindar och mätningar ligga under ett värde som är beroende av egenskaperna för felkorrigeringskoden och den logiska felfrekvens som krävs.

Här är vad du kan göra i ett sådant scenario:

  • Öka felbudgeten, antingen total eller delen för logiska fel.
  • Minska de fysiska felfrekvenserna i kvantbitsparametrarna.

Problem: Begränsningar för maximal körning och maximalt antal fysiska kvantbitar utesluts ömsesidigt

Resource Estimator accepterar bara en av maxDuration eller maxPhysicalQubits begränsningar vid den tidpunkten, men inte två. Om du anger både maxDuration och maxPhysicalQubitsbegränsningar för ett enda jobb returneras BothDurationAndPhysicalQubitsProvided felet.

Problem: Kör containern för QIR-uppskattningsantal: odefinierad symbol __quantum__rt__result_record_output

Det här felet beror på att QIR genereras för Qiskit-kretsar via qiskit_qir Python-paketet utan att parametern record_output anges till False.

Undvik det här felet genom att göra något av följande:

  • Använd azure_quantum Python-paketet för att skicka Qiskit-kretsar till Azure Quantum (rekommenderas).
  • När du använder qiskit_qir Python-paketet måste du ange parametern record_output till False innan du skickar kretsen.

Skapa en Azure Quantum-arbetsyta

Följande problem kan uppstå när du använder Azure-portalen för att skapa en arbetsyta.

Problem: Du kan inte komma åt formuläret för att skapa arbetsytor i Azure-portalen. du uppmanas att registrera dig för en prenumeration i stället

Det här problemet beror på att du inte har någon aktiv prenumeration.

Du kan till exempel ha registrerat dig för azure-prenumerationen på den kostnadsfria utvärderingsversionen på 30 dagar, vilket inkluderar 200 USD kostnadsfria Azure-krediter att använda på Azure-tjänster. Observera att dessa Azure-krediter inte är samma som Azure Quantum Credits och inte är berättigade att användas på kvantmaskinvaruleverantörer. Efter 30 dagars registrering eller när du har förbrukat 200 USD av kostnadsfria Azure-krediter (beroende på vilket som inträffar först) måste du uppgradera till en betala per användning-prenumeration för att fortsätta använda Azure Quantum-tjänster. När du har en aktiv prenumeration kan du komma åt formuläret för att skapa arbetsytor på Azure-portalen.

En lista över dina prenumerationer och associerade roller finns i Kontrollera dina prenumerationer.

Problem: Alternativet Snabbskapande är inte tillgängligt

Du måste vara ägare till den prenumeration som du väljer för att kunna använda alternativet Snabbskapande. En lista över dina prenumerationer och associerade roller finns i Kontrollera dina prenumerationer. Om du är prenumerationsdeltagare kan du använda alternativet Avancerat skapa för att skapa en arbetsyta.

Problem: Du kan inte skapa eller välja en resursgrupp eller ett lagringskonto

Det här problemet beror på att du inte har den auktorisering som krävs på prenumerations-, resursgrupps- eller lagringskontonivå. Mer information om de åtkomstnivåer som krävs finns i Rollkrav för att skapa en arbetsyta.

Problem: Felmeddelandet "Distributionsverifieringen misslyckades" visas när du har valt Skapa

Det här felmeddelandet kan innehålla mer information, till exempel "Klienten har inte behörighet att utföra åtgärden".

Det här problemet beror på att du inte har den auktorisering som krävs på prenumerations-, resursgrupps- eller lagringskontonivå. Mer information om de åtkomstnivåer som krävs finns i Rollkrav för att skapa en arbetsyta.

Om åtkomst nyligen har beviljats kan du behöva uppdatera sidan. Det kan ibland ta upp till en timme innan nya rolltilldelningar börjar gälla över cachelagrade behörigheter i stacken.

Problem: Du ser ingen specifik kvantmaskinvaruprovider på fliken Providers

Det här problemet beror på att providern inte stöder den faktureringsregion som din prenumeration har angetts i. Om din prenumeration till exempel har angetts i Israel visar fliken Providers inte Rigetti som en tillgänglig provider. En lista över leverantörer och deras tillgänglighet efter land/region finns i Global tillgänglighet för Azure Quantum-leverantörer.

Problem: Skapande eller borttagning av arbetsytor misslyckas med "ResourceDeploymentFailure" eller "ProviderDeploymentFailure"

Det här problemet kan innehålla mer information, till exempel "ResourceDeploymentFailure – resursåtgärden "AzureAsyncOperationWaiting" som slutfördes med terminaletableringstillståndet "Misslyckades". Eller "ProviderDeploymentFailure – Det gick inte att skapa en plan för providern: <Providerns> namn".

Detta beror på att klientorganisationen inte har aktiverat Azure Marketplace-köp. Följ stegen i Aktivera Azure Marketplace-köp för att aktivera Azure Marketplace-köp.

Azure Quantum-portalen

Problem: Sparade anteckningsböcker läses inte in

När du har valt Notebooks på din arbetsyta visar listan över dina sparade anteckningsböcker ett förloppsfält men läses aldrig in.

Detta kan inträffa av två orsaker:

  1. Om lagringskontot inte längre finns. Detta kan inträffa om lagringskontot som är länkat till arbetsytan har tagits bort. Kontrollera genom att välja sidan Översikt för arbetsytan och välja länken till lagringskontot. Om lagringskontot har tagits bort visas felet 404 – Hittades inte .

  2. Om arbetsytans hanterade identitet inte är deltagare i lagringskontot. Kontrollera att arbetsytans identitet (som använder samma namn som arbetsytan) fortfarande har rolltilldelningen Deltagare till lagringskontot. Kontrollera genom att välja sidan Översikt för arbetsytan och välja länken till lagringskontot. På sidan Översikt för lagringskontot väljer du Åtkomstkontroll (IAM) och kontrollerar att arbetsytan visas under Deltagare.