Résoudre les problèmes liés à Azure Quantum

Lorsque vous utilisez le service Azure Quantum, vous pouvez rencontrer ces problèmes courants. Voyez comment vous pouvez les résoudre.

Envoi de travaux

Problème : manquant targets

Si l’emplacement target où vous souhaitez exécuter votre travail est manquant dans la liste disponibletarget, vous devrez probablement effectuer une mise à jour vers la dernière version de pourQuantum Development Kit Visual Studio Code. Pour plus d’informations, consultez Mettre à jour le QDK.

Problème : l’opération renvoie un code d’état non valide « non autorisé »

Étapes de résolution de ce problème :

  1. Ouvrez votre portail Azure (https://portal.azure.com) et authentifiez votre compte.

  2. Sous Naviguer, sélectionnez Abonnements , puis sélectionnez votre abonnement.

  3. Sélectionnez Contrôle d’accès (IAM) .

  4. Sous Vérifier l’accès, recherchez votre adresse e-mail et sélectionnez le compte.

  5. Vous ne devriez pas voir un rôle Propriétaire ou Contributeur répertorié.

  6. Sélectionnez l’onglet Attributions de rôles.

    Notes

    Si vous ne voyez pas l’onglet Attributions de rôle, vous devrez peut-être développer le portail en mode plein écran ou fermer le volet des affectations de <>.

  7. Sélectionnez la liste déroulante Rôle , sélectionnez Propriétaire ou Contributeur, puis entrez votre adresse e-mail et sélectionnez votre compte.

  8. Sélectionnez Enregistrer.

  9. Vous devez maintenant voir votre ensemble de comptes configuré avec le rôle Propriétaire ou Contributeur.

  10. Créez à nouveau votre espace de travail Azure Quantum, puis soumettez-lui un travail.

Problème : « Failed to compile program » (échec de la compilation du programme) lors de la tentative d’envoi d’un programme Q# par le biais de l’interface de ligne de commande

Lorsque vous tentez d’envoyer un travail à partir de l’invite de commandes à l’aide de la commande az quantum submit, il se peut que le message d’erreur suivant apparaisse :

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

Cette erreur se produit en cas de problème avec le programme Q# qui provoque l’échec de la compilation.

Problème : Erreur du compilateur « Nombre incorrect de paramètres de porte »

Lors de l’envoi d’un travail à Quantinuum à partir d’un Jupyter Notebook local ou d’un environnement de ligne de commande, et à l’aide du traducteur QASM hérité (OPENQASM 2.0), vous pouvez rencontrer cette erreur :

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

Cette erreur se produit lorsqu’une virgule « » ou un autre caractère non point est utilisé comme séparateur décimal, comme c’est courant dans de nombreuses langues. Remplacez les séparateurs décimaux autres que les points par les points « ».

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

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

Notes

Ce problème ne se produit pas dans les notebooks hébergés dans le portail Azure Quantum, mais uniquement dans les environnements de développement locaux.

Problème : Erreur du compilateur « non disponible pour la configuration de compilation actuelle »

Lorsque vous exécutez une cellule de code Q# dans un Jupyter Notebook dans VS Code, vous pouvez rencontrer l’erreur :

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

Cette erreur indique que le profil QIR target est défini sur De base et que la fonction en question nécessite le profil Non restreinttarget . Pour définir le profil sur targetNon restreint :

  1. Dans votre programme Q# dans VS Code, sélectionnez Q# : BASE QIR dans la barre de status inférieure.
  2. Dans les options affichées dans la barre de status supérieure, sélectionnez Q# : non restreint.

Problème : l’opération a retourné un code d’état non valide : « Interdit ».

Lorsque vous soumettez votre premier travail, vous pouvez obtenir un code d’erreur « interdit ».

Ce problème peut se produire lors de la création d’un espace de travail : Azure Quantum ne parvient pas à effectuer l’attribution de rôle dans le cadre de la liaison du nouvel espace de travail au compte de stockage spécifié. Un scénario classique pour cette situation se produit si l’onglet ou la fenêtre du navigateur web est fermée avant la fin de la création de l’espace de travail.

Vous pouvez vérifier que vous rencontrez ce problème d’attribution de rôle en procédant comme suit :

  • Accédez à votre nouvel espace de travail quantique dans le Portail Azure
  • Sous Vue d’ensemble>Essentials>Compte de stockage, sélectionnez le lien du compte de stockage.
  • Dans la barre de navigation de gauche, sélectionnez Contrôle d’accès (IAM)
  • Sélectionnez Attributions de rôles
  • Vérifiez que votre espace de travail apparaît en tant que Contributeur.
  • Si l’espace de travail n’apparaît pas en tant que Contributeur , vous pouvez :
    • Créer un espace de travail et attendre la fin de la création de l’espace de travail avant de fermer l’onglet ou la fenêtre du navigateur web.
    • Ajouter l’attribution de rôle appropriée sous le compte de stockage
      • Contrôle d’accès (IAM) > Ajouter des attributions de rôles
      • Rôle > contributeur
      • Attribuer l’accès à > Utilisateur, groupe ou principal de service
      • Sélectionnez > [Nom de l’espace de travail]
      • Enregistrer

Problème : Le travail échoue avec le code d’erreur : QIRPreProcessingFailed

Lorsque vous envoyez un travail à un fournisseur Rigetti, le travail échoue et est signalé dans le console de gestion de travail dans le Portail Azure :

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

Cette erreur peut être due à un conflit de dépendance avec une version précédente de pyqir ou qiskit-qir. Désinstallez toutes les versions de pyqir, pyqir-*et qiskit-qir sur votre ordinateur local, puis installez ou mettez à jour le package Python azure-quantum à l’aide du paramètre [qiskit] :

pip install --upgrade azure-quantum[qiskit]

Problème : Récupération des informations de base sur les travaux ayant échoué

Une fois que vous avez envoyé un travail à un matériel target, votre travail peut rester dans la file d’attente pendant plusieurs heures, voire un ou deux jours, avant d’échouer.

Pour récupérer plus d’informations sur l’échec :

  • Utilisez la get_results() méthode avec l’objet de travail pour afficher la sortie ou le message d’erreur retourné :
job.get_results()
  • Dans votre espace de travail du portail Azure, sélectionnez Operations > Job Management, puis sélectionnez le nom du travail pour ouvrir un volet d’informations.
  • Dans votre espace de travail du portail Azure, sélectionnez Fournisseurs d’opérations>. Vérifiez la disponibilité de l’ordinateur target . Les travaux soumis à targets avec un status de Détérioré peuvent rester dans la file d’attente plus longtemps que d’habitude. Parfois, les travaux sont traités, mais parfois ils expirent et retournent une erreur d’indisponibilitétarget.

Problème : je suis toujours invité à m’authentifier lors de la connexion par programme à mon espace de travail

Si vous utilisez le Kit de développement logiciel (SDK) Azure Quantum Python (dans des notebooks Jupyter pour instance) et que vous vous connectez à votre espace de travail à l’aide de la classe AzureQuantumProvider, vous pouvez rencontrer une fenêtre contextuelle pour vous authentifier auprès d’Azure chaque fois que vous exécutez votre script.

Cela se produit parce que votre jeton de sécurité est réinitialisé chaque fois que vous exécutez le script.

Vous pouvez résoudre ce problème en exécutant az login à l’aide d’Azure CLI. Pour plus d’informations, consultez az login.

Problème : Après la mise à jour du package azure-quantum, je reçois l’erreur « ModuleNotFoundError : aucun module nommé qiskit.tools » lors de la surveillance d’un travail

À partir de Qiskit 1.0, le qiskit.tools module requis pour la job_monitor() fonction est déprécié. Pour surveiller les travaux, utilisez les wait_for_final_state() fonctions ou 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()

Estimateur de ressources Azure Quantum

Les scénarios courants suivants peuvent empêcher l’exécution des travaux d’estimation des ressources. Découvrez comment les résoudre.

Problème : L’algorithme quantique doit contenir au moins un état T ou une mesure

Pour prendre en compte le mappage d’un programme quantique arbitraire à un tableau 2D de qubits logiques, l’estimateur de ressources part du principe que le calcul psSPC (Parallel Synthesis Sequential Pauli Computation) (voir arXiv :2211.07629, Annexe D) est effectué sur le programme d’entrée. Dans cette approche, toutes les opérations de Clifford sont transférées à travers toutes les portes T, portes de rotation et opérations de mesure, ce qui laisse une seule opération Clifford qui peut être évaluée de manière classique. Par conséquent, un programme quantique qui ne contient ni états T, par exemple à partir de portes T ou de portes de rotation, ni d’opérations de mesure ne nécessite aucune ressource d’informatique quantique physique.

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

Problème : Le taux d’erreur de la porte T physique est trop élevé

Le taux d’erreur d’état T logique dépend du budget d’erreur et du nombre d’états T dans le programme quantique. Les fabriques T sont utilisées pour créer des états T avec le taux d’erreur d’état T logique requis à partir de portes T physiques, qui ont un taux d’erreur de porte T physique . En règle générale, le taux d’erreur de la porte T physique est beaucoup plus élevé que le taux d’erreur de la porte T logique requis. Dans certains scénarios, le taux d’erreur de la porte T physique est beaucoup plus élevé que le taux d’erreur d’état T logique requis, de sorte qu’aucune fabrique T ne peut être trouvée pouvant produire des états T logiques de qualité suffisante.

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

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le budget d’erreur, total ou partie pour les états T.
  • Réduisez le taux d’erreur de la porte T physique dans les paramètres de qubit.
  • Réduisez le nombre d’états T dans le programme quantique en réduisant les portes T, les portes de rotation et les portes Toffoli.

Problème : Le taux d’erreur de la porte T physique est trop faible

Il existe également le scénario inverse, dans lequel le taux d’erreur de la porte T physique est inférieur au taux d’erreur d’état T logique requis. Dans ce cas, aucune fabrique T n’est requise, car le taux d’erreur de la porte T physique est déjà de qualité suffisante. Toutefois, cela nécessite un examen attentif de l’impact des unités de transfert qui transfèrent les états T physiques de la distance de code 1 à la distance de code de l’algorithme (voir arXiv :2211.07629, Annexe C). En général, en présence d’usines T, le coût des unités de transfert est négligeable.

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.

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le taux d’erreur de la porte T physique dans les paramètres qubits au taux d’erreur d’état T logique requis.
  • Réduisez le budget d’erreur ou simplement la partie pour les états T.

Problème : le taux d’erreur doit être un nombre compris entre 0 et 1

Les taux d’erreur doivent toujours être compris entre 0 et 1. En outre, pour que la correction des erreurs soit efficace, le taux d’erreur physique pour les portes et les mesures doit être inférieur à une valeur qui dépend des propriétés du code de correction d’erreur et du taux d’erreur logique requis.

Voici ce que vous pouvez faire dans un tel scénario :

  • Augmentez le budget des erreurs, soit le total, soit la partie pour les erreurs logiques.
  • Réduisez les taux d’erreurs physiques dans les paramètres qubits.

Problème : Les contraintes d’exécution maximale et le nombre maximal de qubits physiques s’excluent mutuellement

L’estimateur de ressources n’accepte qu’une seule des maxDuration contraintes ou maxPhysicalQubits à la fois, mais pas deux. Si vous fournissez à la fois des maxDuration contraintes et maxPhysicalQubitspour un seul travail, il retourne l’erreur BothDurationAndPhysicalQubitsProvided .

Problème : Exécuter le conteneur de nombres d’estimations QIR : symbole non défini __quantum__rt__result_record_output

Cette erreur résulte de la génération de QIR pour les circuits Qiskit via le package Python qiskit_qir sans définir le record_output paramètre sur False.

Pour éviter cette erreur, effectuez l’une des opérations suivantes :

  • Utilisez le package Python azure_quantum pour envoyer des circuits Qiskit à Azure Quantum (recommandé).
  • Lorsque vous utilisez le package Python qiskit_qir , veillez à définir le record_output paramètre False sur avant d’envoyer votre circuit.

Création d’un espace de travail Azure Quantum

Les problèmes suivants peuvent se produire lorsque vous utilisez le Portail Azure pour créer un espace de travail.

Problème : vous ne pouvez pas accéder au formulaire de création de l’espace de travail dans le Portail Azure ; vous êtes invité à vous inscrire à un abonnement à la place

Ce problème se produit parce que vous n’avez pas d’abonnement actif.

Par exemple, vous vous êtes peut-être inscrit à l’abonnement Azure d’essai gratuit de 30 jours, qui comprend des crédits Azure gratuits de 200 $ (USD) à utiliser sur les services Azure. Notez que ces crédits Azure ne sont pas identiques aux crédits Azure Quantum et ne peuvent pas être utilisés sur des fournisseurs de matériel quantique. Après 30 jours d’inscription ou une fois que vous avez consommé les 200 $ de crédits Azure gratuits (selon la première éventualité), vous devez effectuer une mise à niveau vers un abonnement avec paiement à l’utilisation pour continuer à utiliser les services Azure Quantum. Une fois que vous disposez d’un abonnement actif, le Portail Azure vous permet d’accéder au formulaire de création de l’espace de travail.

Pour afficher la liste de vos abonnements et des rôles associés, consultez Vérifier vos abonnements.

Problème : l’option Création rapide n’est pas disponible

Vous devez être propriétaire de l’abonnement que vous sélectionnez pour pouvoir utiliser l’option Création rapide . Pour afficher la liste de vos abonnements et des rôles associés, consultez Vérifier vos abonnements. Si vous êtes un contributeur d’abonnement, vous pouvez utiliser l’option De création avancée pour créer un espace de travail.

Problème : vous ne pouvez pas créer ou sélectionner un groupe de ressources ou un compte de stockage

Ce problème se produit parce que vous ne disposez pas de l’autorisation requise au niveau de l’abonnement, du groupe de ressources ou du compte de stockage. Pour plus d’informations sur les niveaux d’accès requis, consultez Exigences de rôle pour la création d’un espace de travail.

Problème : le message d’erreur « Échec de la validation du déploiement » s’affiche une fois que vous avez sélectionné Create

Ce message d’erreur peut inclure des détails supplémentaires tels que « Le client n’a pas l’autorisation d’effectuer une action ».

Ce problème se produit parce que vous ne disposez pas de l’autorisation requise au niveau de l’abonnement, du groupe de ressources ou du compte de stockage. Pour plus d’informations sur les niveaux d’accès requis, consultez Exigences de rôle pour la création d’un espace de travail.

Si l’accès a été accordé récemment, vous devrez peut-être actualiser la page. Il peut parfois prendre jusqu’à une heure pour que les nouvelles attributions de rôles prennent effet sur les autorisations mises en cache dans la pile.

Problème : vous ne voyez pas de fournisseur de matériel quantique spécifique sous l’onglet Fournisseurs

Ce problème se produit parce que le fournisseur ne prend pas en charge la région de facturation dans laquelle votre abonnement est défini. Par exemple, si votre abonnement est défini en Israël, l’onglet Fournisseurs ne répertorie pas Rigetti comme fournisseur disponible. Pour obtenir la liste des fournisseurs et leur disponibilité par pays/région, consultez Disponibilité globale des fournisseurs Azure Quantum.

Problème : la création ou l’ajout/suppression de fournisseurs d’espace de travail échoue avec « ResourceDeploymentFailure » ou « ProviderDeploymentFailure »

Ce problème peut inclure des détails supplémentaires tels que « ResourceDeploymentFailure - L’opération de ressource « AzureAsyncOperation Waiting » terminée avec l’état d’approvisionnement du terminal « Échec » ou « ProviderDeploymentFailure - Échec de la création du plan pour le fournisseur : <nom du fournisseur> ».

Cela se produit parce que le locataire n’a pas activé Place de marché Azure achats. Suivez les étapes décrites dans Activation des achats Place de marché Azure pour activer les achats Place de marché Azure.

Portail Azure Quantum

Problème : Les notebooks enregistrés ne se chargent pas

Après avoir sélectionné Blocs-notes dans votre espace de travail, la liste de vos blocs-notes enregistrés affiche une barre de progression, mais ne se charge jamais.

Cela peut se produire pour deux raisons :

  1. Si le compte de stockage n’existe plus. Cela peut se produire si le compte de stockage lié à l’espace de travail a été supprimé. Pour vérifier, sélectionnez la page Vue d’ensemble de l’espace de travail, puis sélectionnez le lien vers le compte de stockage. Si le compte de stockage a été supprimé, une erreur 404 - Introuvable s’affiche.

  2. Si l’identité managée de l’espace de travail n’est pas un contributeur au compte de stockage. Vérifiez que l’identité de l’espace de travail (qui utilise le même nom que l’espace de travail) a toujours le rôle Contributeur attribué au compte de stockage. Pour vérifier, sélectionnez la page Vue d’ensemble de l’espace de travail, puis sélectionnez le lien vers le compte de stockage. Dans la page Vue d’ensemble du compte de stockage, sélectionnez Contrôle d’accès (IAM) et vérifiez que l’espace de travail est répertorié sous Contributeur.