Algorithmes hybrides quantiques-classiques pour le calcul haute performance Le calcul haute performance (HPC) constitue aujourd'hui l'outil principal du calcul scientifique à grande échelle, mais les gains de performance sont de plus en plus contraints par des limites architecturales et énergétiques. En parallèle, le calcul quantique est un paradigme émergent, encore en cours de développement, mais déjà prometteur pour l'accélération de certaines briques numériques. Un enjeu central consiste donc à comprendre comment intégrer efficacement des processeurs quantiques au sein des infrastructures HPC existantes, plutôt que de les considérer comme des accélérateurs isolés. L'objectif de cette thèse est d'explorer le calcul hybride quantique-classique, à la fois du point de vue algorithmique et des modèles de programmation. Nous étudions comment combiner de manière cohérente des ressources classiques et quantiques au sein de workflows hybrides, en exploitant les forces respectives de chaque paradigme. Comme cas d'usage principal, nous nous intéressons à la résolution de systèmes linéaires, un noyau fondamental du calcul scientifique et du HPC. Dans un premier temps, nous abordons la problématique de l'encodage de données classiques sous forme de représentations quantiques, qui constitue un goulot d'étranglement majeur des algorithmes hybrides. Nous proposons une amélioration du coût de pré-traitement pour l'encodage de matrice dans des unitaires, via décomposition dans la base de Pauli. Nous introduisons ensuite un solveur hybride reposant sur la Quantum Singular Value Transformation (QSVT). Inspirée de l'algèbre linéaire numérique classique, une approche de raffinement itératif en précision mixte est proposée, combinant des résolutions quantiques basse précision avec des corrections classiques haute précision. Une analyse détaillée de la convergence, des erreurs et des coûts de calcul est présentée, montrant que l'hybridation permet de réduire les ressources quantiques nécessaires pour atteindre une précision donnée. Enfin, nous abordons les aspects de programmation et d'implémentation à travers la conception d'un framework de programmation hybride quantique-classique, Q-Pragma, destiné à faciliter l'intégration de l'accélération quantique dans des environnements HPC existants. Ce travail contribue ainsi au développement de codes hybrides quantique-HPC plus réalistes et exploitables.
Algorithmes hybrides quantiques-classiques pour le calcul haute performance Le calcul haute performance (HPC) constitue aujourd'hui l'outil principal du calcul scientifique à grande échelle, mais les gains de performance sont de plus en plus contraints par des limites architecturales et énergétiques. En parallèle, le calcul quantique est un paradigme émergent, encore en cours de développement, mais déjà prometteur pour l'accélération de certaines briques numériques. Un enjeu central consiste donc à comprendre comment intégrer efficacement des processeurs quantiques au sein des infrastructures HPC existantes, plutôt que de les considérer comme des accélérateurs isolés. L'objectif de cette thèse est d'explorer le calcul hybride quantique-classique, à la fois du point de vue algorithmique et des modèles de programmation. Nous étudions comment combiner de manière cohérente des ressources classiques et quantiques au sein de workflows hybrides, en exploitant les forces respectives de chaque paradigme. Comme cas d'usage principal, nous nous intéressons à la résolution de systèmes linéaires, un noyau fondamental du calcul scientifique et du HPC. Dans un premier temps, nous abordons la problématique de l'encodage de données classiques sous forme de représentations quantiques, qui constitue un goulot d'étranglement majeur des algorithmes hybrides. Nous proposons une amélioration du coût de pré-traitement pour l'encodage de matrice dans des unitaires, via décomposition dans la base de Pauli. Nous introduisons ensuite un solveur hybride reposant sur la Quantum Singular Value Transformation (QSVT). Inspirée de l'algèbre linéaire numérique classique, une approche de raffinement itératif en précision mixte est proposée, combinant des résolutions quantiques basse précision avec des corrections classiques haute précision. Une analyse détaillée de la convergence, des erreurs et des coûts de calcul est présentée, montrant que l'hybridation permet de réduire les ressources quantiques nécessaires pour atteindre une précision donnée. Enfin, nous abordons les aspects de programmation et d'implémentation à travers la conception d'un framework de programmation hybride quantique-classique, Q-Pragma, destiné à faciliter l'intégration de l'accélération quantique dans des environnements HPC existants. Ce travail contribue ainsi au développement de codes hybrides quantique-HPC plus réalistes et exploitables.
Cette étude s'est réalisée dans le domaine du calcul quantique (QC), lié en particulier à son intégration dans le calcul haute performance (HPC). Le calcul quantique promet, en exploitant le comportement de systèmes physiques quantiques, des gains en temps de calcul et/ou en qualité des résultats pour un certain nombre de problèmes. Nous nous sommes intéressés particulièrement à l'intégration des piles logicielles HPC et QC, qui englobent tous les outils et programmes qui permettent le développement et l'exécution d'un code : compilateur, bibliothèques, système d'exploitation, etc. Cependant, l'intégration de ces piles logicielles HPC et QC n'est aujourd'hui que peu étudiée et son impact sur les performances des applications n'est pas systématiquement évalué. Ce manque d'évaluation systématique est dû à la fois à la grande différence entre les piles logicielles HPC et QC ainsi qu'à la nouveauté des systèmes hybrides HPC-QC. Tout cela peut engendrer des difficultés lors de l'implémentation, du déploiement et de l'exécution d'applications combinant calcul quantique et calcul haute performance. Aujourd'hui, les caractéristiques des systèmes et piles logicielles HPC et QC sont évaluées séparément, le côté HPC est notamment étudié depuis plusieurs décennies. Cela signifie que ces évaluations ne concernent pas les nouvelles piles logicielles spécifiques aux systèmes hybrides HPC-QC. Par ailleurs, les piles logicielles HPC et QC comportent de nombreuses étapes liées à des problèmes d'optimisation combinatoire et il existe plusieurs algorithmes quantiques qui visent à résoudre ce type de problèmes. Cependant l'intégration de ce type d'algorithme quantique dans les piles logicielles HPC et QC n'est encore que peu étudiée. Tout cela justifie notre étude consistant à évaluer comment l'intégration des piles logicielles HPC-QC présentes et futures pourrait impacter l'exécution des applications. Pour cela, nous avons tout d'abord développé et validé une suite modulaire de benchmarks permettant d'évaluer l'influence des piles logicielles sur la vitesse d'exécution de codes HPC-QC. Cette suite de benchmarks, que nous avons appelée HPCQCMark, vise à fournir un outil ouvert et simple d'utilisation qui permet de rapidement tester plusieurs combinaisons de piles et d'applications HPC-QC. Nous avons ainsi évalué l'impact sur l'exécution de micro-applications de divers aspects des piles logicielles déployées sur les systèmes HPC-QC installés au CEA et au Riken. Cela nous a permis de mettre en avant à la fois des bugs dans les piles testées et plusieurs liens entre certaines caractéristiques des piles et le temps d'exécution des codes. Ayant mis en avant l'existence de ces liens, nous avons voulu déterminer s'il serait possible d'améliorer l'exécution de codes HPC en intégrant du calcul quantique dans une pile logicielle. Pour cela, nous avons conçu des algorithmes hybrides classique-quantique pour l'allocation de registres CPU, une étape importante de la compilation qui est au cœur de la pile logicielle HPC. Ces approches hybrides reposent sur l'utilisation d'algorithmes quantiques variationnels afin de réaliser une partie de l'allocation, qui est représentée sous la forme d'un problème d'optimisation combinatoire. Finalement, nous avons implémenté ces algorithmes hybrides et les avons intégrés dans des compilateurs HPC existants et utilisés par un grand nombre de développeurs. Nous avons ensuite pu évaluer leur capacité à effectivement améliorer la qualité des codes HPC compilés. Cela nous a permis de mettre en avant des situations dans lesquelles le code compilé en utilisant notre méthode hybride avait effectivement un meilleur temps d'exécution qu'en utilisant une méthode classique.
Optimisation et évaluation des piles logicielles intégrées HPC-Quantiques Cette étude s'est réalisée dans le domaine du calcul quantique (QC), lié en particulier à son intégration dans le calcul haute performance (HPC). Le calcul quantique promet, en exploitant le comportement de systèmes physiques quantiques, des gains en temps de calcul et/ou en qualité des résultats pour un certain nombre de problèmes. Nous nous sommes intéressés particulièrement à l'intégration des piles logicielles HPC et QC, qui englobent tous les outils et programmes qui permettent le développement et l'exécution d'un code : compilateur, bibliothèques, système d'exploitation, etc. Cependant, l'intégration de ces piles logicielles HPC et QC n'est aujourd'hui que peu étudiée et son impact sur les performances des applications n'est pas systématiquement évalué. Ce manque d'évaluation systématique est dû à la fois à la grande différence entre les piles logicielles HPC et QC ainsi qu'à la nouveauté des systèmes hybrides HPC-QC. Tout cela peut engendrer des difficultés lors de l'implémentation, du déploiement et de l'exécution d'applications combinant calcul quantique et calcul haute performance. Aujourd'hui, les caractéristiques des systèmes et piles logicielles HPC et QC sont évaluées séparément, le côté HPC est notamment étudié depuis plusieurs décennies. Cela signifie que ces évaluations ne concernent pas les nouvelles piles logicielles spécifiques aux systèmes hybrides HPC-QC. Par ailleurs, les piles logicielles HPC et QC comportent de nombreuses étapes liées à des problèmes d'optimisation combinatoire et il existe plusieurs algorithmes quantiques qui visent à résoudre ce type de problèmes. Cependant l'intégration de ce type d'algorithme quantique dans les piles logicielles HPC et QC n'est encore que peu étudiée. Tout cela justifie notre étude consistant à évaluer comment l'intégration des piles logicielles HPC-QC présentes et futures pourrait impacter l'exécution des applications. Pour cela, nous avons tout d'abord développé et validé une suite modulaire de benchmarks permettant d'évaluer l'influence des piles logicielles sur la vitesse d'exécution de codes HPC-QC. Cette suite de benchmarks, que nous avons appelée HPCQCMark, vise à fournir un outil ouvert et simple d'utilisation qui permet de rapidement tester plusieurs combinaisons de piles et d'applications HPC-QC. Nous avons ainsi évalué l'impact sur l'exécution de micro-applications de divers aspects des piles logicielles déployées sur les systèmes HPC-QC installés au CEA et au Riken. Cela nous a permis de mettre en avant à la fois des bugs dans les piles testées et plusieurs liens entre certaines caractéristiques des piles et le temps d'exécution des codes. Ayant mis en avant l'existence de ces liens, nous avons voulu déterminer s'il serait possible d'améliorer l'exécution de codes HPC en intégrant du calcul quantique dans une pile logicielle. Pour cela, nous avons conçu des algorithmes hybrides classique-quantique pour l'allocation de registres CPU, une étape importante de la compilation qui est au cœur de la pile logicielle HPC. Ces approches hybrides reposent sur l'utilisation d'algorithmes quantiques variationnels afin de réaliser une partie de l'allocation, qui est représentée sous la forme d'un problème d'optimisation combinatoire. Finalement, nous avons implémenté ces algorithmes hybrides et les avons intégrés dans des compilateurs HPC existants et utilisés par un grand nombre de développeurs. Nous avons ensuite pu évaluer leur capacité à effectivement améliorer la qualité des codes HPC compilés. Cela nous a permis de mettre en avant des situations dans lesquelles le code compilé en utilisant notre méthode hybride avait effectivement un meilleur temps d'exécution qu'en utilisant une méthode classique.
Algorithmes quantiques pour les équations aux dérivées partielles : circuits quantiques et applications physiques Les simulations classiques actuelles des phénomènes physiques présentent de nombreuses limitations, en particulier lorsqu'il s'agit de systèmes complexes tels que les fluides turbulents, les plasmas ou les matériaux quantiques fortement corrélés. Ces simulations rencontrent souvent des difficultés liées à des coûts de calculs élevés, une mise à l'échelle limitée à travers plusieurs dimensions ou échelles temporelles, ainsi qu'à la complexité de capturer des dynamiques intrinsèquement non-linéaires ou chaotiques. Même avec l'accès à des ressources de calcul haute performance (HPC), la résolution précise des dynamiques à fine échelle ou des évolutions sur de longues périodes reste un défi majeur. Le développement de nouvelles méthodes numériques est donc essentiel, tant pour la recherche académique que pour les applications industrielles. Les ordinateurs quantiques émergent comme de nouveaux outils numériques pour l'étude de tels systèmes et la résolution des équations aux dérivées partielles qui les modélisent. Grâce aux propriétés de superposition et d'intrication des qubits, les calculs numériques peuvent être réalisés de manière inédite, offrant des avantages théoriques prometteurs pour certains problèmes. Dans ce contexte, cette thèse contribue au développement et à la compréhension des algorithmes quantiques, allant de la conception de circuits quantiques à la résolution numérique d'équations différentielles partielles et ordinaires. Dans une première partie, des circuits quantiques efficaces sont présentés pour l'implémentation de routines couramment utilisées dans les algorithmes quantiques (opérations multi-contrôlées, préparation d'états quantiques, opérations diagonales), ainsi que pour une nouvelle routine : la transformée de Laplace quantique. Ces routines limitaient l'efficacité des algorithmes quantiques en raison d'implémentations génériques dont la complexité croissait de manière exponentielle avec le nombre de qubits. Désormais, ces tâches peuvent être réalisées à l'aide de circuits quantiques adaptés qui exploitent la structure des problèmes physiques. Dans une seconde partie, des schémas numériques quantiques sont introduits pour résoudre des équations de transport anisotropes et des équations différentielles ordinaires hamiltoniennes non linéaires. Ces schémas se composent de trois étapes (initialisation, évolution et mesure) et reposent sur des approximations en différences finies d'ordre élevé et des formules de Trotterisation. Des protocoles efficaces pour mesurer des grandeurs d'intérêt sont présentés, et une nouvelle analyse numérique, basée sur la norme vectorielle plutôt que sur la norme d'opérateur générique, est introduite. Cette approche permet d'atteindre une précision donnée tout en réduisant le nombre de pas de temps par un facteur qui croît de manière exponentielle avec le nombre de qubits. De plus, une étude de différentes transformations de Madelung non linéaires est présentée afin de résoudre certaines équations fluides sur ordinateur quantique. Les différents résultats de cette thèse sont illustrés par des simulations classiques des algorithmes quantiques ainsi que par des simulations sur des processeurs quantiques actuels. Ce travail pose les bases de la simulation pratique de systèmes physiques classiques, aussi bien sur les dispositifs quantiques actuels de type NISQ (noisy intermediate-scale quantum) que sur les futurs ordinateurs quantiques tolérants aux erreurs.
Algorithmes quantiques pour la chimie quantique ab initio : une approche à plusieurs échelles L'équation de Schrödinger polyélectronique régit l'évolution non relativiste des systèmes quantiques tels que les électrons, atomes et molécules. La chimie quantique ab initio consiste à trouver des solutions approximées de cette équation afin de prédire des propriétés moléculaires comme les longueurs de liaison, les spectres vibrationnels et les mécanismes réactionnels. Malgré les immenses progrès de la puissance de calcul, atteindre la précision chimique (une erreur d'énergie inférieure à 1 kcal/mol) reste exponentiellement coûteux pour les algorithmes classiques lorsque la taille du système augmente. Cette limite a conduit à envisager l'informatique quantique comme alternative pour la simulation moléculaire, les ordinateurs quantiques obéissant aux mêmes principes physiques que les systèmes simulés. Il a été établi que, sous certaines conditions, l'équation de Schrödinger moléculaire pouvait être résolue en temps polynomial sur un ordinateur quantique, permettant en principe une accélération exponentielle par rapport aux méthodes classiques. La concrétisation de cet avantage reste un problème ouvert et requiert des avancées tant matérielles (stabilité des processeurs) que algorithmiques (consommation de ressources). Ce dernier aspect constitue l'objectif principal de cette thèse. Trois défis fondamentaux sont identifiés: établir une correspondance et une discrétisation efficace entre le problème de structure électronique et les qubits; concevoir des algorithmes pour préparer de bonnes approximations de l'état fondamental ; décomposer les opérations quantiques en circuits implémentables à coût minimal. La première partie traite du court terme, où le faible nombre de qubits et le bruit limitent les opérations exécutables. Dans ce contexte, le Variational Quantum Eigensolver (VQE) et son extension adaptative ADAPT-VQE sont des références établies. Nous proposons plusieurs améliorations pour la construction adaptative d'ansätze. L'algorithme Greedy Gradient-Free Adaptive VQE simplifie le processus d'optimisation, réduisant considérablement la consommation de ressources et permettant même une démonstration sur un processeur de 25 qubits. La méthode Overlap-ADAPT-VQE introduit un schéma de compactification variationnelle qui reconstruit des approximations d'états quantiques cibles, permettant en chimie quantique d'accélérer significativement la convergence du VQE pour divers niveaux de corrélation électronique. Nous développons ensuite une stratégie d'initialisation des registres quantiques à partir de fonctions d'onde corrélées issues de calculs classiques, pour combiner calcul haute performance et post-traitement quantique. La seconde partie adopte une perspective de long terme centrée sur le comportement asymptotique des algorithmes. Nous présentons une décomposition de la porte NOT multi-contrôlée avec une profondeur de circuit polylogarithmique en nombre de qubits de contrôle, offrant une amélioration exponentielle sur les approches linéaires existantes. Enfin, nous proposons une méthode de chimie quantique en espace réel, compatible avec les algorithmes quantiques d'extraction de valeurs propres. L'objectif étant d'améliorer la convergence spatiale en remplaçant les discrétisations uniformes, utilisées dans la plupart des approches en première quantification, par des grilles non uniformes, adaptées à la molécule, qui concentrent les points de discrétisation dans les zones de forte densité électronique. Nous étendons cette stratégie aux hamiltoniens transcorrélés : des opérateurs qui régularisent les singularités du potentiel coulombien, et dont les fonctions propres sont lisses dans l'espace. Notre approche est plurielle, explorant tous les niveaux d'abstraction, de la théorie à l'implémentation, et couvrant des algorithmes exploitables sur des machines actuelles, et d'autres destinés aux architectures de long terme. Ces contributions renforcent les fondements des algorithmes quantiques pour la simulation moléculaire.
Le calcul quantique est nouveau paradigme qui sera peut-être en capacité de résoudre certains problèmes intéressants et très spécifiques plus vite qu'un ordinateur classique. Mais pour atteindre le régime dans lequel les ordinateurs quantiques seront plus efficaces que leurs équivalents classiques, plusieurs étapes cruciales doivent être atteintes. Les taux d'erreur des puces quantiques actuelles doivent être drastiquement améliorés, tout comme leur nombre de qubits, les algorithmes doivent évoluer pour prendre en compte le taux d'erreur élevé des puces, les compilateurs et implémentations doivent être adaptés à la puce quantique qui sera utilisée pour l'exécution et les façons d'analyser des états ou programmes quantiques nécessitent des améliorations.Dans cette thèse, nous nous concentrons sur certaines de ces étapes et améliorons l'état de l'art en essayant de se rapprocher le plus possible du régime où les ordinateurs quantiques auront un avantage sur les ordinateurs classiques. Nous commençons par montrer comment nous avons implémenté un algorithme quantique non trivial et analysé son comportement ainsi que les ressources nécessaires à son exécution.Cette analyse a confirmé que les puces quantiques actuelles étaient incapables d'exécuter ce genre d'implémentation, même après avoir pris en compte les subtilités dues au matériel et optimisé grandement le programme. Cet effort d'optimisation a donné lieu à l'implémentation de l'outil qprof, un profileur de programme quantique capable d'analyser des implémentations et de générer un rapport textuel et lisible résumant la hiérarchie des appels et leur coût approximatif.Nous présentons aussi un algorithme classique pour résoudre le problème du routage de qubit, une des étapes les plus coûteuse en terme de porte quantique additionnelle dans les compilateurs de programme quantiques. Cet algorithme permet de prendre en compte les calibrations les plus récentes de la puce quantique visée afin d'adapter le programme quantique compilé aux différents taux d'erreurs de la puce. Nous décrivons comment l'algorithme fonctionne et montrons qu'il apporte une amélioration substantielle de la fidélité de l'état quantique créé par le programme compilé par rapport à l'état de l'art.Nous avons aussi implémenté un algorithme variationnel permettant de résoudre des systèmes linéaires et analysé son comportement sur des puces quantiques actuelles ainsi que les besoins en ressources quantiques afin d'exécuter cet algorithme avec différents systèmes linéaires. Finalement, nous avons effectué une étude sur les erreurs présentes sur des qubits isolés et introduit une nouvelle visualisation permettant de mettre en avant des erreurs systématiques et non mitigées par les calibrations automatiques réalisées à intervalles réguliers sur les puces quantiques.
Le calcul quantique est nouveau paradigme qui sera peut-être en capacité de résoudre certains problèmes intéressants et très spécifiques plus vite qu'un ordinateur classique. Mais pour atteindre le régime dans lequel les ordinateurs quantiques seront plus efficaces que leurs équivalents classiques, plusieurs étapes cruciales doivent être atteintes. Les taux d'erreur des puces quantiques actuelles doivent être drastiquement améliorés, tout comme leur nombre de qubits, les algorithmes doivent évoluer pour prendre en compte le taux d'erreur élevé des puces, les compilateurs et implémentations doivent être adaptés à la puce quantique qui sera utilisée pour l'exécution et les façons d'analyser des états ou programmes quantiques nécessitent des améliorations.Dans cette thèse, nous nous concentrons sur certaines de ces étapes et améliorons l'état de l'art en essayant de se rapprocher le plus possible du régime où les ordinateurs quantiques auront un avantage sur les ordinateurs classiques. Nous commençons par montrer comment nous avons implémenté un algorithme quantique non trivial et analysé son comportement ainsi que les ressources nécessaires à son exécution.Cette analyse a confirmé que les puces quantiques actuelles étaient incapables d'exécuter ce genre d'implémentation, même après avoir pris en compte les subtilités dues au matériel et optimisé grandement le programme. Cet effort d'optimisation a donné lieu à l'implémentation de l'outil qprof, un profileur de programme quantique capable d'analyser des implémentations et de générer un rapport textuel et lisible résumant la hiérarchie des appels et leur coût approximatif.Nous présentons aussi un algorithme classique pour résoudre le problème du routage de qubit, une des étapes les plus coûteuse en terme de porte quantique additionnelle dans les compilateurs de programme quantiques. Cet algorithme permet de prendre en compte les calibrations les plus récentes de la puce quantique visée afin d'adapter le programme quantique compilé aux différents taux d'erreurs de la puce. Nous décrivons comment l'algorithme fonctionne et montrons qu'il apporte une amélioration substantielle de la fidélité de l'état quantique créé par le programme compilé par rapport à l'état de l'art.Nous avons aussi implémenté un algorithme variationnel permettant de résoudre des systèmes linéaires et analysé son comportement sur des puces quantiques actuelles ainsi que les besoins en ressources quantiques afin d'exécuter cet algorithme avec différents systèmes linéaires. Finalement, nous avons effectué une étude sur les erreurs présentes sur des qubits isolés et introduit une nouvelle visualisation permettant de mettre en avant des erreurs systématiques et non mitigées par les calibrations automatiques réalisées à intervalles réguliers sur les puces quantiques.