Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si lavora con il servizio Azure Quantum, è possibile che si verifichino problemi di connessione o di processi. Questo articolo illustra come risolvere questi problemi.
Problemi di connessione dell'area di lavoro
Problema: non è possibile eseguire l'autenticazione per Azure Quantum con pytket-azure
Quando si tenta di eseguire l'autenticazione per Azure Quantum con il pacchetto pytket-azure in un ambiente CI usando le variabili di ambiente "AZURE_TENANT_ID", "AZURE_CLIENT_ID" e "AZURE_CLIENT_SECRET", è possibile che venga visualizzato l'errore seguente:
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
Per risolvere questo problema, usare una stringa di connessione e la variabile di ambiente "AZURE_QUANTUM_CONNECTION_STRING" per eseguire l'autenticazione. Per ulteriori informazioni, consulta Connetti con una stringa di connessione.
connection_string = "" # Add your connection string
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
Problemi di invio del processo
Problema: non riesco a trovare l'oggetto target a cui inviare il mio lavoro
Se l'Azure Quantum target in cui si vuole eseguire il processo non si trova nell'elenco target disponibile, eseguire l'aggiornamento alla versione più recente del Quantum Development Kit (QDK) per Visual Studio Code (VS Code). Per altre informazioni, vedere Aggiornare QDK.
Problema: l'operazione restituisce un codice di stato non valido "Unauthorized"
Per risolvere il problema, seguire la procedura seguente:
- Accedere al portale Azure e autenticare l'account.
- Passare all'area di lavoro Quantum a cui si sta provando a inviare un job.
- Nel riquadro di spostamento dell'area di lavoro selezionare Controllo di accesso (IAM).
- Selezionare il pulsante Visualizza il mio accesso. Verrà visualizzato il riquadro assegnazioni .
- Nella colonna Ruolo della tabella Assegnazioni di ruolo verificare se si dispone del ruolo Proprietario o Collaboratore .
- Se non si ha alcun ruolo, chiedere all'amministratore della sottoscrizione di assegnare il ruolo Proprietario o Collaboratore per questa area di lavoro.
Problema: "AuthorizationFailure - Questa richiesta non è autorizzata a eseguire questa operazione"
Se viene visualizzato questo messaggio anche quando si dispone di una connessione valida al servizio Azure Quantum, l'account di archiviazione potrebbe essere configurato per bloccare l'accesso alla rete pubblica. Il servizio Azure Quantum supporta solo gli account di archiviazione con accesso a Internet pubblico.
Per controllare le impostazioni dell'account di archiviazione, seguire questa procedura:
- Accedere a Azure portal.
- Vai alla tua area di lavoro Quantum.
- Nella pagina Panoramica, selezionare l'account di archiviazione.
- Nel riquadro di spostamento espandere l'elenco a discesa Sicurezza e rete e selezionare Rete.
- Nella sezione Accesso alla rete pubblica della scheda Accesso pubblico selezionare il pulsante Gestisci .
- Per l'impostazione Accesso alla rete pubblica selezionare Abilita. Per l'impostazione Ambito di accesso alla rete pubblica selezionare Abilita da tutte le reti.
- Selezionare il pulsante Salva.
Problema: "Impossibile compilare il programma" quando si invia un programma Q# da interfaccia della riga di comando di Azure
Quando si invia un processo con il comando az quantum submit interfaccia della riga di comando di Azure, è possibile che venga visualizzato il messaggio di errore seguente:
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
Questo errore si verifica quando si verifica un problema con il programma Q# che causa l'esito negativo della compilazione. Assicurarsi che il codice Q# abbia una sintassi corretta.
Problema: errore del compilatore "Numero errato di parametri gate"
Quando si invia un processo a Quantinuum da un ambiente locale Jupyter Notebook o dell'interfaccia della riga di comando e si usa il traduttore QASM legacy (OPENQASM 2.0), è possibile che venga visualizzato questo errore:
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
Questo errore si verifica quando una virgola "," o un altro carattere non punto viene usato come separatore decimale. Sostituire tutti i separatori decimali non punto con punti ".". Per esempio:
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
Problema: errore del compilatore "non disponibile per la configurazione di compilazione corrente"
Quando si esegue una cella di codice Q# in un Jupyter Notebook in VS Code, è possibile che venga visualizzato l'errore:
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
Questo errore indica che è stato impostato il profilo QIR (rappresentazione quantistica intermedia) target su Base quando la funzione richiede il profilo Senza restrizionitarget . Se non si specifica un tipo di profilo target, il compilatore imposta automaticamente il target su Senza restrizioni.
Problema: l'operazione ha restituito un codice di stato non valido "Forbidden"
Quando invii il tuo primo job, potrebbe comparire un codice di errore 'forbidden'.
Questo problema si verifica quando si crea una nuova area di lavoro nel portale di Azure e Azure Quantum non riesce a completare l'assegnazione di ruolo che collega l'area di lavoro all'account di archiviazione specificato. Ciò può verificarsi quando si chiude la scheda o il Web browser prima del completamento della creazione dell'area di lavoro.
Per verificare che si verifichi questo problema di assegnazione di ruolo, seguire questa procedura:
- Passare all'area di lavoro Quantum nel portale di Azure.
- Nella pagina Panoramica, selezionare l'account di archiviazione.
- Nel riquadro di spostamento selezionare Controllo di accesso (IAM).
- Scegliere la scheda Assegnazioni di ruolo .
- Nella colonna Ruolo, verificare se l'account di archiviazione dell'area di lavoro ha il ruolo Storage Account Contributor e il ruolo Storage Blob Data Contributor.
Se l'area di lavoro non ha entrambi questi ruoli nell'account di archiviazione, eseguire una delle operazioni seguenti:
- Creare una nuova area di lavoro e assicurarsi che la creazione dell'area di lavoro venga completata prima di chiudere la finestra o la scheda del Web browser.
- Assegna i ruoli di Collaboratore account di archiviazione e Collaboratore dati BLOB di archiviazione al tuo spazio di lavoro sull'account di archiviazione.
Problema: il processo ha esito negativo con codice di errore: QIRPreProcessingFailed
Quando si invia un processo a un Rigetti target e il processo ha esito negativo, è possibile che venga visualizzato il seguente messaggio di errore nella console di Gestione processi per l'area di lavoro Quantum nel portale di Azure.
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
Questo errore può essere causato da un conflitto di dipendenza con una versione precedente di pyqir o qiskit-qir. Disinstallare tutte le versioni di pyqir, pyqir-* e qiskit-qir nel computer locale e quindi installare o aggiornare la libreria qdk Python con le azure e qiskit aggiuntive:
pip install --upgrade "qdk[azure,qiskit]"
Problema: Recupero di informazioni di base sui processi falliti
Quando si invia un processo a un hardware target, il processo potrebbe restare in coda per diverse ore o giorni prima che esso fallisca.
Per recuperare altre informazioni sull'errore del lavoro, eseguire una delle operazioni seguenti:
Per visualizzare l'output del processo o il messaggio di errore, usare il metodo
get_results()dal moduloqdk.azurePython:job.get_results()Nell'area di lavoro Quantum nel portale di Azure, vai al riquadro Gestione processi dal menu a discesa Operations e poi scegli il nome del processo Name per aprire il riquadro Dettagli processo.
Nell'area di lavoro Quantum nel portale di Azure, andare al riquadro Providers dal menu a discesa Operations. Verificare che l'hardware target sia disponibile. Se lo target stato è Degradato, i processi potrebbero rimanere nella coda del solito più a lungo. A volte i processi vengono elaborati, ma a volte si verifica un timeout e restituiscono un errore di target indisponibilità.
Problema: Azure Quantum chiede di eseguire l'autenticazione quando ci si connette a livello di codice all'area di lavoro
Se si usa Azure Quantum Python SDK e ci si connette all'area di lavoro usando la classe AzureQuantumProvider, è possibile che si verifichi un popup per l'autenticazione a Azure ogni volta che si esegue lo script.
Questo popup si verifica perché il token di sicurezza viene reimpostato ogni volta che si esegue lo script.
Per risolvere questo problema, eseguire az login dal interfaccia della riga di comando di Azure. Per altre informazioni, vedere az login.
Problemi relativi al valutatore delle risorse quantistiche di Microsoft
I problemi seguenti potrebbero causare l'esito negativo dei processi di stima delle risorse.
Problema: l'algoritmo quantistico deve contenere almeno uno stato T o una misurazione
Per tenere conto del mapping di un programma quantistico arbitrario a una matrice 2D di qubit logici, lo strumento di stima delle risorse presuppone che il calcolo di Pauli sequenziale di sintesi parallela (PSSPC) venga eseguito nel programma di input. In tale approccio, tutte le operazioni Clifford vengono commutate attraverso tutte le porte T, i cancelli di rotazione e le operazioni di misurazione, lasciando una singola operazione Clifford che può essere valutata in modo efficiente in modo classico. Pertanto, un programma quantistico che non contiene stati T, come quelli derivanti da cancelli T, cancelli di rotazione o operazioni di misurazione, non richiede alcuna risorsa di calcolo quantistico fisico. Per altre informazioni sul calcolo pauli sequenziale di sintesi parallela, vedere arXiv:2211.07629, Appendice D.
Error message: Algorithm requires at least one T state or measurement to estimate resources
Problema: la frequenza di errore del gate T fisico è troppo elevata
La frequenza di errore dello stato T logico dipende dal budget degli errori e dal numero di stati T nel programma quantistico. Le fabbriche T vengono usate per creare stati T con il tasso di errore dello stato T logico richiesto dai cancelli T fisici, che hanno un tasso di errore del cancello T fisico. In genere, la frequenza di errore del gate T fisico è superiore alla frequenza di errore del gate T logico richiesto. In certi scenari, la frequenza di errore del gate T fisico è significativamente superiore rispetto alla necessaria frequenza di errore dello stato T logico, tale che non è possibile trovare alcuna fabbrica T capace di produrre stati T logici di qualità sufficiente.
Error message: No T factory can be found, because the required logical T state error rate is too low
Per risolvere il problema, eseguire una delle operazioni seguenti:
- Aumentare il budget degli errori, sia il totale sia la parte per gli stati T.
- Ridurre il tasso di errore del gate T fisico nei parametri del qubit.
- Ridurre il numero di stati T nel programma quantistico riducendo i cancelli T, i cancelli di rotazione e i cancelli Toffoli.
Problema: la frequenza di errore del gate T fisico è troppo bassa
Quando il tasso di errore del gate T fisico è inferiore al tasso di errore logico dello stato T richiesto, non è necessaria una T factory perché il tasso di errore del gate T fisico è sufficiente. Tuttavia, è comunque necessario considerare l'impatto delle unità di trasferimento che trasferisce gli stati T fisici dalla distanza di codice 1 alla distanza del codice dell'algoritmo (vedere arXiv:2211.07629, Appendice C). In generale, in presenza di fabbriche T, il costo delle unità di trasferimento è trascurabile.
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.
Per risolvere il problema, eseguire una delle operazioni seguenti:
- Aumentare il tasso di errore del gate T fisico nei parametri dei qubit per raggiungere il tasso di errore richiesto dello stato T logico.
- Ridurre il budget degli errori o solo la parte relativa agli stati T.
Problema: la frequenza di errore deve essere un numero compreso tra 0 e 1
Le percentuali di errore possono avere un valore compreso tra 0 e 1. Per rendere effettiva la correzione degli errori, la frequenza di errore fisica per cancelli e misurazioni deve essere inferiore a un valore che dipende dalle proprietà del codice di correzione degli errori e dalla frequenza di errore logica richiesta.
Per risolvere il problema, eseguire una delle operazioni seguenti:
- Aumentare il budget degli errori, sia totale che per la parte degli errori logici.
- Ridurre le percentuali di errore fisiche nei parametri qubit.
Problema: i vincoli di runtime massimo e il numero massimo di qubit fisici si escludono a vicenda
Lo strumento di stima delle risorse accetta solo uno dei vincoli maxDuration o maxPhysicalQubits. Se fornisci sia i vincoli maxDuration che maxPhysicalQubits per un singolo processo, il processo genera l'errore BothDurationAndPhysicalQubitsProvided.
Problema: Eseguire il contenitore dei conteggi stima QIR: simbolo non definito __quantum__rt__result_record_output
Questo errore viene visualizzato quando si genera QIR per circuiti Qiskit con il pacchetto qiskit_qir Python e non si imposta il parametro record_output su False.
Per evitare questo errore, eseguire una delle operazioni seguenti:
- Usare il modulo
qdk.azurePython per inviare circuiti Qiskit a Azure Quantum (scelta consigliata). - Quando si usa il pacchetto
qiskit_qirPython, impostare il parametrorecord_outputsuFalseprima di inviare il circuito.
Azure Quantum problemi di creazione dell'area di lavoro
Quando si crea un'area di lavoro Quantum nel portale di Azure, potrebbero verificarsi i problemi seguenti.
Problema: non è possibile accedere al modulo di creazione dell'area di lavoro nel portale di Azure e viene chiesto di iscriversi per una sottoscrizione
Questo problema si verifica perché non si dispone di una sottoscrizione Azure attiva.
Quando si effettua l'iscrizione per una versione di valutazione gratuita di 30 giorni della sottoscrizione di Azure, si ottengono crediti Azure gratuiti. Dopo aver usato tutti i crediti gratuiti o 30 giorni dopo l'iscrizione, è necessario eseguire l'aggiornamento a una sottoscrizione pagamento in base al consumo per continuare a usare i servizi di Azure Quantum. Quando si dispone di una sottoscrizione attiva, il portale di Azure consente di accedere al modulo di creazione dell'area di lavoro.
Per visualizzare un elenco delle sottoscrizioni e dei ruoli associati, vedere Controllare le sottoscrizioni.
Nota
I crediti Azure della sottoscrizione di prova gratuita di 30 giorni non sono idonei per l'uso presso i fornitori di hardware quantistico.
Problema: l'opzione Creazione rapida non è disponibile
Per usare l'opzione Creazione rapida, è necessario essere proprietario di una sottoscrizione. Per visualizzare un elenco delle sottoscrizioni e dei ruoli associati, vedere Controllare le sottoscrizioni. Se si è un collaboratore alla sottoscrizione, è possibile usare l'opzione Creazione avanzata per creare un'area di lavoro.
Problema: non è possibile creare o selezionare un gruppo di risorse o un account di archiviazione
Questo problema si verifica perché non si dispone dell'autorizzazione necessaria a livello di sottoscrizione, gruppo di risorse o account di archiviazione. Per altre informazioni sui livelli di accesso necessari, vedere Requisiti dei ruoli per la creazione di un'area di lavoro.
Problema: viene visualizzato un messaggio di errore "Convalida della distribuzione non riuscita" quando si sceglie Crea
Questo messaggio di errore potrebbe includere altri dettagli, ad esempio "Il client non dispone dell'autorizzazione per eseguire l'azione".
Questo problema si verifica perché non si dispone dell'autorizzazione necessaria a livello di sottoscrizione, gruppo di risorse o account di archiviazione. Per altre informazioni sui livelli di accesso necessari, vedere Requisiti dei ruoli per la creazione di un'area di lavoro.
Se è stato concesso di recente l'accesso, potrebbe essere necessario aggiornare la pagina. Le nuove assegnazioni di ruolo possono richiedere fino a un'ora per rendere effettive le autorizzazioni memorizzate nella cache nello stack.
Problema: non viene visualizzato un provider hardware quantistico specifico nella scheda Provider
Questo problema si verifica perché il provider non supporta l'area di fatturazione in cui è impostata la sottoscrizione. Per un elenco dei provider e della disponibilità per paese/area geografica, vedere Disponibilità globale dei provider di Azure Quantum.
Problema: la creazione dell'area di lavoro o l'aggiunta/rimozione dei provider fallisce con "ResourceDeploymentFailure" o "ProviderDeploymentFailure".
Questo problema può includere altri dettagli, ad esempio "ResourceDeploymentFailure - Operazione della risorsa AzureAsyncOperationWaiting completata con stato di provisioning del terminale 'Failed'. o "ProviderDeploymentFailure - Impossibile creare un piano per il provider: <nome del provider>".
Questo errore si verifica perché il tenant non ha abilitato gli acquisti Azure Marketplace. Seguire i passaggi in Abilitare gli acquisti su Azure Marketplace per abilitare gli acquisti su Azure Marketplace.
Problema: la distribuzione di un'area di lavoro quantistica o di un account di archiviazione non riesce
Quando si tenta di distribuire un'area di lavoro Quantum o un account di archiviazione, è possibile che venga visualizzato uno degli errori seguenti:
- Area di lavoro: "L'operazione di scrittura delle risorse non è stata completata correttamente, perché ha raggiunto lo stato di provisioning del terminale 'Failed'".
- Account di archiviazione: "La distribuzione del modello non è riuscita a causa di una violazione dei criteri".
Questo problema può verificarsi se i criteri di sicurezza della sottoscrizione bloccano la creazione di account di archiviazione con accesso pubblico abilitato. Il servizio Azure Quantum supporta solo gli account di archiviazione con accesso a Internet pubblico.
Per risolvere questo problema, rivolgersi all'amministratore della sottoscrizione per ottenere un'eccezione per l'account di archiviazione che si vuole usare.