Que sont Q# et les Azure Quantum Development Kit?

Azure Quantum Development Kit (QDK moderne) est le Kit de développement logiciel (SDK) requis pour l’interface avec le service Azure Quantum. Avec , Quantum Development Kitvous pouvez créer des programmes quantiques qui s’exécutent sur du matériel quantique dans Azure Quantum.

Notes

Quantum Development Kit Microsoft (QDK classique) ne sera plus pris en charge après le 30 juin 2024. Si vous êtes un développeur QDK existant, nous vous recommandons de passer au nouvel Azure Quantum Development Kit (QDK moderne) pour continuer à développer des solutions quantiques. Pour plus d’informations, consultez Migrer votre Q# code vers le QDK moderne.

Le QDK moderne est le seul kit de développement prêt pour Fault-Tolerant l’informatique quantique (FTQC). Avec le QDK moderne, vous pouvez :

  • Déboguer votre code : Il offre un débogueur d’informatique quantique qui peut parcourir le code classique et quantique. Associé à son simulateur en mémoire éparse, il fournit une simulation rapide de jusqu’à des milliers de qubits logiques.

  • Choisissez votre plateforme : Le QDK moderne s’exécute dans votre navigateur web sans installation nécessaire et avec son extension VS Code sur votre PC, Mac ou linux.

  • Écrivez votre code plus rapidement : Mise en surbrillance de syntaxe et complétion intelligente du code avec IntelliSense et écrire des blocs de code entiers avec l’aide de Copilot.

  • Exécutez sur le matériel de votre choix : Le QDK s’intègre parfaitement à Azure Quantum pour exécuter vos algorithmes sur un large éventail d’ordinateurs quantiques et de simulateurs.

  • Conception pour le FTQC : Associé à l’estimateur de ressources Azure Quantum de pointe, il fournit un langage conçu spécifiquement pour l’informatique quantique, Q#qui vous libère de la réflexion sur les architectures de qubits, extrait le matériel et vous permet de combiner le calcul classique et quantique effectué par la machine quantique que vous utilisez target.

Conseil

Si vous souhaitez accélérer votre parcours d’informatique quantique, case activée du code avec Azure Quantum, une fonctionnalité unique du site web Azure Quantum. Ici, vous pouvez exécuter des exemples intégrés Q# ou vos propres Q# programmes, générer du nouveau Q# code à partir de vos invites, ouvrir et exécuter votre code dans VS Code pour le Web en un seul clic, et poser des questions à Copilot sur l’informatique quantique.

Le langage de programmation quantique Q#

Le QDK moderne comprend le langage Q#de programmation quantique , un langage de programmation open source de haut niveau qui vous permet de concentrer votre travail au niveau de l’algorithme pour créer des programmes quantiques.

Q# est un langage de programmation open source de haut niveau pour le développement et l’exécution d’algorithmes quantiques. Il fait partie du Quantum Development Kit (QDK) et il est conçu pour être indépendant du matériel, mettre à l’échelle à la gamme complète d’applications quantiques et optimiser l’exécution.

Le langage de programmation Q# utilise des éléments connus des langages Python, C# et F#. Il prend en charge un modèle de procédure de base permettant l’écriture de programmes avec des boucles, des instructions if/then ainsi que des types de données courants. Il introduit également de nouvelles structures et opérations de données spécifiques au quantum, telles que la répétition jusqu’à la réussite, qui permettent l’intégration de calculs quantiques et classiques. Par exemple, le contrôle de flux d’un programme classique peut s’appuyer sur le résultat d’une mesure quantique.

Lors de l’écriture d’algorithmes, un langage de programmation quantique doit répondre aux exigences suivantes pour le langage, le compilateur et l’exécution :

  • Qubits abstraits. Les algorithmes quantiques utilisent des qubits qui ne sont pas liés à un matériel ou à une disposition spécifique. Le compilateur et le runtime gèrent le mappage des qubits du programme aux qubits physiques.
  • Calcul quantique et classique. La capacité à effectuer des calculs classiques et quantiques est essentielle dans un ordinateur quantique universel.
  • Respectez les lois de la physique. Les algorithmes quantiques suivent les règles de la physique quantique. Par exemple, ils ne peuvent pas copier ou accéder directement à l’état qubit.

Pour plus d’informations, consultez le guide de l’utilisateur du Q# langage de programmation quantique.

Bien démarrer avec Azure Quantum Development Kit

Il existe plusieurs façons de démarrer avec la programmation quantique. Vous pouvez choisir l’option qui correspond le mieux à vos besoins.

Conseil

Les utilisateurs pour la première fois obtiennent automatiquement des crédits Azure Quantumgratuits de 500 $ (USD) à utiliser avec chaque fournisseur de matériel quantique participant. Si vous avez consommé tous les crédits et voulez en obtenir davantage, vous pouvez vous inscrire au programme de crédits Azure Quantum.

Site web Azure Quantum

Le site web Azure Quantum est le moyen le plus simple de démarrer avec la programmation quantique. Avec l’éditeur de code en ligne sur le site web Azure Quantum, vous pouvez exécuter Q# du code dans votre navigateur sans aucune configuration requise et demander de l’aide à Copilot. En un clic dans l’éditeur de code en ligne, vous pouvez ouvrir votre code dans VS Code sur le web et continuer à travailler gratuitement dans un environnement quantique préconfiguré.

Notes

Le site web Azure Quantum est gratuit et ne nécessite pas de compte Azure.

Exemples dans le portail Azure Quantum

Si vous souhaitez commencer à pratiquer et à écrire vos programmes Q# sans installer de logiciels supplémentaires, vous pouvez utiliser les notebooks Jupyter hébergés disponibles dans votre espace de travail Azure Quantum dans le portail Azure. L’exemple de galerie contient une collection d’exemples de notebooks annotés : sélectionnez l’exemple que vous souhaitez explorer et exécutez-le sur des simulateurs basés sur le cloud ou sur des ordinateurs quantiques réels.

Notes

Pour utiliser les Jupyter Notebooks hébergés, vous avez besoin d’un compte Azure. Si vous n’avez pas de compte Azure, vous pouvez créer un compte gratuitement.

Environnement de développement local

Si vous préférez un environnement de développement local, vous pouvez installer l’extension QDK moderne pour Visual Studio Code. L’extension QDK moderne fournit un environnement de développement complet pour Q#, y compris la mise en évidence de syntaxe, les commentaires de codage en temps réel et le débogage.

Pour commencer à utiliser l’extension QDK moderne, consultez le tutoriel suivant.

Conseil

Le QDK moderne comprend un ensemble d’exemples intégrés Q# que vous pouvez utiliser pour en savoir plus sur l’informatique Q# quantique. Pour afficher les exemples, ouvrez un nouveau Q# fichier et tapez sample, puis sélectionnez l’exemple que vous souhaitez afficher dans la liste des options.

Flux de travail de développement quantique

Le diagramme suivant montre les étapes par lesquelles un programme quantique passe de l’idée à l’implémentation complète sur Azure Quantum, ainsi que les outils proposés pour chaque étape.

Diagramme montrant le flux de travail du développement de programmation quantique.

Choisir votre environnement de développement

Exécutez vos programmes quantiques dans votre environnement de développement préféré. Vous pouvez utiliser l’éditeur de code en ligne dans le site web Azure Quantum, les jupyter notebooks hébergés disponibles dans votre espace de travail Azure Quantum dans le Portail Azure, ou votre propre environnement de développement local.

Écrire votre programme quantique

Le QDK prend en charge Q#, mais aussi pour les langages Qiskit et Cirq pour l’informatique quantique.

Pour commencer, vous pouvez suivre les tutoriels et explorer des concepts quantiques tels que la Q#superposition, l’intrication, l’algorithme quantique de Grover et d’autres phénomènes quantiques.

Intégrer à Python

Le QDK vous permet d’intégrer Q# des programmes à Python. Vous pouvez utiliser un programme Python pour appeler Q# des opérations.

Estimer les ressources

Avant de procéder à l’exécution sur du matériel quantique, vous devez déterminer si votre programme peut s’exécuter sur du matériel existant et évaluer le nombre de ressources qui seront consommées.

L’estimateur de ressources Azure Quantum vous permet d’évaluer les décisions architecturales, de comparer les technologies qubit et de déterminer les ressources nécessaires à l’exécution d’un algorithme quantique donné. Vous pouvez choisir parmi des protocoles prédéfinis à tolérance de panne et spécifier les hypothèses du modèle qubit physique sous-jacent.

Pour plus d’informations, consultez Exécuter votre première estimation de ressources.

Notes

L’estimateur de ressources Azure Quantum est gratuit et ne nécessite pas de compte Azure.

Exécuter le programme dans le simulateur

Lorsque vous compilez et exécutez un programme quantique, le QDK crée une instance du simulateur quantique et lui transmet le Q# code. Le simulateur utilise le code Q# pour créer des qubits (simulations de particules quantiques) et appliquer des transformations afin de changer leur état. Les résultats des opérations quantiques dans le simulateur sont ensuite retournés au programme. L’isolation du code Q# dans le simulateur garantit que les algorithmes suivent les lois de la physique quantique et s’exécutent correctement sur les ordinateurs quantiques.

Envoyer des travaux au service Azure Quantum

Vous pouvez envoyer vos Q# programmes (également appelés travaux) à Azure Quantum via votre environnement de développement préféré, localement et en ligne. Pour plus d’informations, consultez Comment soumettre des travaux Q#. Vous pouvez également exécuter et envoyer des circuits quantiques écrits en langage Qiskit et Cirq.

Azure Quantum offre certains des matériels quantiques les plus convaincants et les plus diversifiés disponibles aujourd’hui auprès des leaders du secteur. Pour connaître la liste actuelle des fournisseurs de matériel pris en charge, consultez Fournisseurs d’informatique quantique.

Notes

L’émulateur targetde série H quantinuum basé sur le cloud est disponible sans compte Azure. Pour envoyer un travail au reste des fournisseurs Azure Quantum, vous avez besoin d’un compte Azure et d’un espace de travail quantique. Si vous n’avez pas d’espace de travail quantique, consultez Créer un espace de travail Azure Quantum.

Le diagramme suivant illustre le workflow de base après l’envoi de votre travail :

Diagramme montrant le flux de travail après l’envoi d’un travail à Azure Quantum.

Si vous souhaitez en savoir plus, les katas quantiques offrent une bonne introduction aux concepts de l’informatique quantique, comme les opérations quantiques courantes et la manipulation des qubits.