Comme nous l’avons décrit plus tôt cette année, faire fonctionner un ordinateur quantique nécessitera un investissement considérable dans des ressources informatiques classiques, compte tenu du nombre de mesures et d’opérations de contrôle qui doivent être exécutées et interprétées. Cela signifie qu’il faudra également une pile logicielle pour contrôler et interpréter le flux d’informations du côté quantique.
Mais le logiciel intervient bien avant l’exécution de quoi que ce soit. Bien qu’il soit possible d’exécuter des algorithmes sur du matériel quantique en définissant l’ensemble des commandes envoyées au matériel, la plupart des utilisateurs souhaiteront se concentrer sur le développement d’algorithmes plutôt que sur les détails de la gestion d’un matériel quantique particulier. “Si tout le monde doit plonger dans les détails du bruit, utiliser des outils de gestion de performance, il doit savoir comment compiler un circuit quantique à travers le matériel, il faut devenir un expert en trop de choses pour pouvoir faire la découverte d’algorithmes,” a déclaré Jay Gambetta d’IBM. Ainsi, une partie de la pile logicielle que les entreprises développent pour contrôler leur matériel quantique comprend un logiciel qui convertit des représentations abstraites d’algorithmes quantiques en une série de commandes nécessaires pour les exécuter.
La version d’IBM de ce logiciel s’appelle Qiskit (bien qu’elle ait été rendue open source et adoptée depuis par d’autres entreprises). Récemment, IBM a fait plusieurs annonces concernant Qiskit, tant pour le comparer à d’autres piles logicielles que pour l’ouvrir à des modules tiers. Nous allons d’abord examiner ce que font les piles logicielles avant de passer aux détails des nouveautés.
Que fait la pile logicielle ?
Il est tentant de considérer Qiskit comme l’équivalent d’un compilateur. Et à un niveau basique, c’est une analogie raisonnable, car il prend des algorithmes définis par des humains et les convertit en instructions exécutables par le matériel. Cependant, il existe des différences significatives dans les détails. Un compilateur pour un ordinateur classique produit un code que le processeur de l’ordinateur convertit en instructions internes utilisées pour configurer le matériel du processeur et exécuter des opérations.
Même en utilisant ce qu’on appelle le “langage machine”, les programmeurs ne contrôlent pas directement le matériel ; ils n’ont aucun contrôle sur l’endroit où les choses sont exécutées sur le matériel (c’est-à-dire, quel processeur ou unité d’exécution au sein de ce processeur), ni même sur l’ordre dans lequel les instructions sont exécutées.
Les choses sont très différentes pour les ordinateurs quantiques, du moins pour l’instant. Tout d’abord, tout ce qui se passe sur le processeur est contrôlé par du matériel externe, qui agit généralement en générant une série d’impulsions laser ou micro-ondes. Ainsi, des logiciels comme Qiskit d’IBM ou Q# de Microsoft agissent en convertissant le code qu’ils reçoivent en commandes envoyées à du matériel externe au processeur.
Ces “compilateurs” doivent également suivre exactement quelle partie du processeur est utilisée. Les ordinateurs quantiques fonctionnent en effectuant des opérations spécifiques (appelées portes) sur des qubits individuels ou pairs ; pour cela, il est impératif de savoir exactement quel qubit est ciblé. Et, pour des éléments tels que les qubits supraconducteurs, où des variations peuvent exister d’un dispositif à l’autre, le choix des qubits matériels peut avoir un effet significatif sur les résultats des calculs.
En conséquence, la plupart des outils comme Qiskit offrent la possibilité d’adresser directement le matériel. Cependant, si un programmeur choisit de ne pas le faire, le logiciel peut transformer des instructions génériques en une série précise d’actions qui exécutent l’algorithme encodé. Cela implique que la pile logicielle doit faire des choix concernant les qubits physiques à utiliser, les portes et mesures à exécuter, ainsi que l’ordre dans lequel les exécuter.
Le rôle de la pile logicielle, cependant, est susceptible de s’élargir considérablement au cours des prochaines années. Plusieurs entreprises expérimentent des conceptions de qubits matériels qui peuvent signaler lorsqu’un type d’erreur courante se produit, et il y a eu des progrès dans le développement de qubits logiques permettant la correction d’erreurs. En fin de compte, toute entreprise fournissant l’accès aux ordinateurs quantiques souhaitera modifier sa pile logicielle de manière à activer ces fonctionnalités sans nécessiter d’efforts de la part des personnes concevant les algorithmes.
En tant que journaliste, ce sujet est fascinant car il illustre l’évolution rapide des technologies quantiques et leur intégration dans notre quotidien futur. Les entreprises investissent massivement pour rendre la puissance des ordinateurs quantiques accessible à un large public, et cela soulève de nombreuses questions sur l’impact de ces technologies sur les secteurs industriels et sur notre société dans son ensemble. Je suis impatient de suivre les développements futurs dans ce domaine et d’explorer comment ces changements pourraient révolutionner notre manière de traiter et d’analyser les données.