Aller au contenu principal

Introduction

Bienvenue à la frontière

Tout au long de l'histoire, notre compréhension scientifique du monde a connu une croissance rapide lorsque de nouveaux outils sont devenus disponibles — des outils permettant de poser de nouvelles questions, de mener des expériences à plus grande échelle et d'explorer de nouveaux domaines de recherche. Parmi ces outils, on peut citer le télescope, le microscope et le Grand Collisionneur de Hadrons. Chacun a ouvert l'accès à de nouveaux types de découvertes scientifiques. Dans les années 1960, on a aussi assisté au développement du calcul haute performance (HPC), qui est devenu un outil essentiel pour résoudre des tâches computationnelles complexes, notamment de nombreux défis scientifiques importants.

Aujourd'hui, nous disposons d'un autre outil important pour le progrès scientifique : les ordinateurs quantiques. Bien qu'il s'agisse encore d'une technologie émergente, les ordinateurs quantiques ont le potentiel de modifier considérablement les types de problèmes computationnels que nous pouvons résoudre efficacement. Ce cours porte sur la façon dont ces technologies, en travaillant ensemble, peuvent repousser les limites de ce qui est computationnellement possible.

Notre mission est claire mais ambitieuse : te fournir les connaissances conceptuelles et pratiques nécessaires pour utiliser ces technologies afin de s'attaquer à certains des problèmes les plus difficiles du monde.

Cette vidéo décrit les objectifs de ce cours et la motivation derrière la combinaison du HPC et du calcul quantique.

Le HPC

Qu'est-ce que le calcul haute performance exactement ? Le calcul haute performance est devenu le fondement de la résolution des problèmes computationnels modernes. Nous ne vivons plus à une époque où les problèmes avancés peuvent être résolus avec des outils simples comme un boulier ou un stylo et du papier ; nous travaillons avec des questions et des ensembles de données qui nécessitent une puissance de calcul considérable.

Le domaine du calcul haute performance trouve ses racines dans le développement des premiers supercalculateurs dans les années 1960. Ces machines étaient spécialement conçues pour résoudre des problèmes scientifiques et d'ingénierie à grande échelle plus rapidement que les ordinateurs conventionnels.

L'un des premiers supercalculateurs bien connus fut le CDC 6600 (1964), construit par Seymour Cray, souvent surnommé le père du supercalcul. Le CDC 6600 était l'ordinateur le plus rapide de son époque, utilisant une architecture innovante incluant des unités fonctionnelles parallèles et du pipelining — des concepts encore utilisés dans le HPC aujourd'hui.

Cray continua à faire avancer le domaine avec le Cray-1 (1976), qui introduisit le traitement vectoriel — une technique qui augmenta considérablement la vitesse des opérations sur de grands tableaux de données, le rendant bien adapté au calcul scientifique.

Lorsque les vitesses des processeurs uniques commencèrent à plafonner, le HPC évolua vers le calcul parallèle — utilisant de nombreux processeurs travaillant ensemble sur différentes parties d'un problème. Durant les années 1980 et 1990, les architectures parallèles devinrent courantes dans le HPC. Au début des années 2000, le HPC se tourna vers des clusters de matériel courant, c'est-à-dire des serveurs ordinaires connectés par des réseaux à haute vitesse. Ce changement rendit le supercalcul plus abordable et élargit l'accès au HPC.

Tout au long de cette évolution, IBM® a été à l'avant-garde de la recherche et de la mise en œuvre du HPC. Notamment, les supercalculateurs IBM Blue Gene furent l'une des familles de supercalculateurs les plus influentes des années 2000 et du début des années 2010. Ce fut une ère de croissance considérable pour les systèmes massivement parallèles, dont Blue Gene/Q est un exemple, avec une instance (Sequoia) ayant 100 000 nœuds. L'IBM-built Oak Ridge Summit fut la première ressource HPC à atteindre les ExaOPS (1,88 en précision mixte) en 2018.

Aujourd'hui, nous sommes dans l'ère de l'exascale, où les supercalculateurs peuvent effectuer 101810^{18} opérations par seconde (exaflops). Le premier supercalculateur capable d'atteindre ce jalon était Frontier, situé au Laboratoire National d'Oak Ridge.

Pourquoi avons-nous besoin de ressources de calcul aussi puissantes ? Il existe des problèmes cruciaux pour le bien-être humain qui nécessitent de telles ressources extrêmes pour être modélisés ou résolus. Les exemples incluent les modèles climatiques, l'étude de la structure et du mouvement du manteau terrestre, et les simulations de dynamique des fluides.

De nombreux problèmes de ce type ont été abordés par des chercheurs d'IBM et leurs collaborateurs travaillant sur des systèmes IBM. Ce leadership soutenu a été largement reconnu. Par exemple, les chercheurs d'IBM ont remporté le Prix Gordon Bell six fois.[1]

Le HPC est un domaine très actif dont les frontières sont régulièrement repoussées. Pour un aperçu des capacités modernes, voir cette liste du Top 500 des supercalculateurs.

Le calcul quantique

Le calcul quantique est un nouveau paradigme de calcul qui ne suit pas simplement le développement progressif des ordinateurs classiques. Il vise à tirer parti des propriétés quantiques de la superposition, de l'intrication et de l'interférence quantique pour résoudre des problèmes qui seraient insolubles pour les seuls ordinateurs classiques. Nous n'explorerons pas les détails de la spécificité du calcul quantique dans ce cours — voir Fondamentaux des algorithmes quantiques pour en savoir plus — mais nous discuterons plutôt de comment la combinaison de ces deux infrastructures pourrait conduire à des percées en science appliquée.

Une approche hybride

Ce qu'il faut surtout souligner, c'est que ces deux paradigmes de calcul ne sont pas des concurrents. Nous sommes dans une ère où les flux de travail optimisés nécessitent que les deux paradigmes se complètent et placent la tâche là où elle est gérée le plus efficacement. Les ordinateurs quantiques ne remplaceront pas les systèmes classiques ; plutôt, l'avenir de la science computationnelle dépendra de plus en plus de flux de travail hybrides où le HPC fournit un traitement classique haute performance, et le calcul quantique apporte des capacités uniques. En tant que praticien, chercheur ou technologue, comprendre comment combiner ces outils te positionnera comme un leader dans la prochaine ère de l'avancement scientifique et technologique.

Nous examinerons comment le calcul quantique et le HPC sont positionnés pour permettre des percées dans un large éventail d'industries, notamment :

  • Chimie : Accélérer l'identification de nouveaux médicaments et matériaux.

  • Énergie : Concevoir des catalyseurs, des batteries et des solutions d'énergie propre améliorés.

  • Finance : Modéliser les risques, optimiser les portefeuilles et développer de nouveaux instruments financiers.

  • IA et apprentissage automatique : Améliorer l'entraînement des modèles, l'optimisation et l'analyse des données.

Pourquoi aller au-delà du classique

Les humains ont obtenu des succès considérables dans les domaines d'application mentionnés ci-dessus grâce au HPC. Cependant, même les supercalculateurs les plus rapides du monde rencontrent des difficultés lorsque les problèmes évoluent de façon factorielle ou exponentielle avec la taille du problème. Par exemple, lister toutes les configurations possibles de 50 particules dans une molécule complexe conduit à des configurations qui croissent au moins de façon factorielle, nécessitant plus de mémoire que ce que tous les centres de données de la Terre réunis pourraient fournir.

Un autre exemple est la planification d'un itinéraire de livraison pour 10 000 villes : le nombre d'itinéraires possibles devient tellement grand que, même si tous les ordinateurs jamais construits testaient un itinéraire par microseconde, le calcul prendrait des ordres de grandeur de plus que l'âge actuel de notre Soleil. Ces totaux ne sont pas seulement grands ; ils croissent de façon exponentielle, ce qui signifie que chaque particule ou ville supplémentaire multiplie la charge computationnelle bien au-delà d'une simple mise à l'échelle.

On peut continuer à ajouter des GPU, mais manipuler de telles quantités de données consomme déjà des mégawatts d'énergie et nécessite des installations de la taille d'entrepôts. À un certain point, le matériel classique ne peut plus évoluer de manière pratique ou abordable. C'est pourquoi les chercheurs se tournent vers les processeurs quantiques, qui stockent les informations en superpositions et peuvent parfois traiter directement ces problèmes de croissance exponentielle, résolvant des cas spécifiques que les machines classiques ne peuvent pas compléter dans un délai raisonnable.

Le HPC atteint finalement des limites fondamentales dictées par la combinatoire et la thermodynamique. Le calcul quantique ne supprime pas ces limites, mais peut parfois les contourner dans des scénarios très spécifiques.

Pourquoi pas le quantique seul ?

Si le calcul quantique peut contourner certaines limites du calcul classique, pourquoi ne pas s'appuyer entièrement sur les ordinateurs quantiques ? La première raison, et la plus évidente, est que les ordinateurs quantiques nécessitent toujours des machines classiques pour fonctionner. Des tâches telles que la compilation et l'alimentation des circuits dans le processeur quantique, le stockage des résultats de mesure, et l'exécution du post-traitement de base sont toutes effectuées par des systèmes de calcul classiques.

Pourquoi avons-nous donc également besoin du calcul haute performance ? Il y a plusieurs raisons. De nombreuses applications actuelles et anticipées du calcul quantique s'attaquent à des problèmes avec des espaces de recherche extrêmement larges. Les algorithmes quantiques peuvent souvent réduire significativement la taille de cet espace, mais en pratique le problème restant peut encore être suffisamment grand pour bénéficier des ressources HPC. De plus, il existe des algorithmes qui équilibrent les forces du HPC et du calcul quantique, déléguant suffisamment de travail au HPC pour rendre l'algorithme global plus robuste contre les effets du bruit quantique.

Un exemple concret est l'algorithme de diagonalisation quantique par échantillonnage (SQD). Cet algorithme, qui sera exploré dans la Leçon 4, montre comment le HPC et le calcul quantique peuvent se compléter en pratique. Pour plus de contexte, voir le cours sur les Algorithmes de Diagonalisation Quantique sur IBM Quantum Learning.

Ce cours est conçu pour les professionnels et les étudiants qui travaillent — ou envisagent de travailler — en étroite collaboration avec l'infrastructure du calcul haute performance (HPC) et/ou du calcul quantique. Avec les progrès rapides des technologies quantiques, nous anticipons un futur proche où les processeurs quantiques seront intégrés aux côtés des ressources HPC traditionnelles pour obtenir des résultats plus précis et permettre de nouvelles approches à la résolution de problèmes. Ce cours est destiné aux apprenants qui souhaitent comprendre comment construire et exécuter de tels flux de travail hybrides.

Étant donné que les participants peuvent provenir de différents horizons, nous attendons deux types principaux d'apprenants : ceux déjà expérimentés en HPC mais nouveaux dans le calcul quantique, et ceux bien versés dans le calcul quantique mais nouveaux dans le HPC. Pour aider chacun à tirer le meilleur parti de ce cours, nous fournissons des recommandations de préparation pour les deux groupes ci-dessous.

Pour ceux qui débutent en HPC

Ce cours suppose une familiarité avec les concepts fondamentaux du HPC tels que la programmation à mémoire distribuée, la transmission de messages, les modèles de programmation parallèle et la gestion des ressources. Nous utiliserons également des outils tels que le gestionnaire de charge de travail Slurm. Bien que beaucoup de ces concepts soient brièvement présentés au besoin, une certaine exposition préalable rendra le matériel plus accessible. Les ressources utiles comprennent :

Des ressources supplémentaires sont également disponibles dans ce dépôt GitHub.

Pour ceux qui débutent dans le quantique

Ce cours utilisera des outils et concepts fondamentaux du calcul quantique avec un minimum de révision introductive. Nous recommandons que les participants aient au moins une connaissance fonctionnelle de Qiskit, une familiarité avec les portes et circuits quantiques, et une certaine exposition aux algorithmes basés sur l'échantillonnage. Les ressources listées ci-dessous devraient constituer une préparation utile.

  • Guide IBM Quantum® Composer : Une présentation de Composer, un outil de programmation quantique graphique qui te permet de faire glisser et déposer des opérations pour construire des circuits quantiques et les exécuter sur du matériel quantique.
  • Introduction à Qiskit : Un ensemble de guides pour t'aider à installer et configurer Qiskit.
  • Hello world : Un court tutoriel sur Qiskit dans lequel tu configures et exécutes ton premier programme quantique.
  • Algorithmes de diagonalisation quantique : Un cours couvrant plusieurs types d'algorithmes quantiques, dont SQD qui sera utilisé dans ce cours.

Des ressources supplémentaires sont également disponibles dans ce dépôt GitHub.

Les apprenants de tous horizons pourront trouver ce guide utile ; il couvre le plugin SPANK pour la gestion des ressources quantiques et quelques mots sur Slurm.

Il y a quelques façons dont la spécificité du calcul quantique le rend procéduralement différent des ressources de calcul classiques d'une façon qui est importante pour ce cours. Par exemple, il n'y a pas de bon analogue quantique de la RAM. Les informations sont stockées et traitées dans les états des qubits eux-mêmes. Bien que les mesures puissent permettre à certaines caractéristiques des qubits d'être enregistrées classiquement, de telles mesures détruisent une grande partie de la richesse de l'état quantique, y compris la superposition et l'intrication. De plus, les ressources de calcul quantique ne sont actuellement pas hébergées sur le même nœud que les autres ressources HPC, et les utilisateurs de ressources quantiques n'auront souvent pas le même niveau de contrôle sur la planification qu'ils pourraient avoir sur les ressources HPC classiques. Ces réalités seront rappelées dans les leçons appropriées. Mais ce qu'il faut retenir ici, c'est que les ordinateurs quantiques vont changer le monde et doivent être intégrés au HPC, mais ils ne sont pas « juste une autre » ressource HPC qui peut être contrôlée et utilisée de la même façon que les CPU, GPU, etc. Les ordinateurs quantiques changent la façon dont nous pouvons aborder de nombreux problèmes de calcul.

À propos de ce cours

À la fin de ce cours, tu seras capable de faire plus que simplement répéter des termes techniques — tu comprendras comment gérer un flux de travail hybride moderne qui assigne des sous-tâches spécifiques à un processeur quantique tandis que les CPU et GPU gèrent le travail restant. Tu apprendras à écrire des scripts pour des travaux qui transitent facilement entre les nœuds classiques et les QPU, à interpréter les résultats avec précision, et à reconnaître là où l'accélération quantique peut vraiment améliorer les calculs (et là où elle ne le peut pas). Tout aussi important, tu pratiqueras le maintien d'un état d'esprit de croissance : dans un domaine nouveau et en évolution rapide, personne n'apprend tout d'un coup, et les vrais progrès viennent de l'itération, de l'expérimentation et des questions. Ce cours est divisé en 5 chapitres, qui couvrent les sujets suivants :

Plan du cours

  • Leçon 1 - Cette leçon a couvert le contexte et la motivation
  • Leçon 2 - Les ressources de calcul et leur gestion
  • Leçon 3 - Les modèles de programmation qui incluent des environnements de calcul hétérogènes
  • Leçon 4 - Les algorithmes quantiques pour les flux de travail hybrides, notamment SQD
  • Leçon 5 - Perspectives futures et orientations

Considère ce cours comme ton tremplin — l'endroit où tu construis ta boîte à outils mentale et la confiance en toi pour explorer la frontière quantique-classique longtemps après avoir terminé la dernière leçon.

Références

[1] https://www.hpcwire.com/off-the-wire/gordon-bell-prize-awarded-to-ibm-and-leading-university-researchers/