Les exigences informatiques de la science du climat

Simulant l'atmosphère, les océans, la surface et la glace de mer au cours de décennies ou de siècles, il faut résoudre des millions d'équations différentielles partielles couplées. Ces modèles utilisent une grille tridimensionnelle qui s'étend souvent sur toute la planète à des résolutions horizontales de 10 km ou plus, avec des milliers de couches verticales. Chaque étape – parfois aussi courte qu'une demi-seconde de temps simulé – doit calculer la dynamique des fluides, le transfert radiatif, les changements de phase de l'eau, les réactions chimiques et une foule de processus paramétrés tels que la formation de nuages, les turbulences et les interactions terre-surface.

L'appétit pour une résolution toujours plus fine et des modèles plus complets physiquement pousse le matériel conventionnel à son point de rupture. Les unités de traitement des graphiques (GPU) ont été largement adoptées dans de nombreux domaines HPC, mais leur efficacité dans les charges de travail climatiques varie. Les algorithmes dominés par les opérations de pochoirs et l'algèbre linéaire clairsemée ne parviennent souvent pas à se cartographier efficacement sur les multiprocesseurs de streaming GPU, laissant des performances importantes sur la table. Entre-temps, les Arrays de porte programmables sur le terrain (FPGA) sont devenus une alternative convaincante, offrant une personnalisation extrême et un parallélisme de pipelines qui peuvent être adaptés aux schémas spécifiques de flux de données des codes climatiques.

Ce qui rend l'architecture FPGA unique

Un FPGA est un dispositif de silicium reconfigurable composé d'un tableau de blocs logiques, de tranches de traitement numérique de signaux (DSP), de blocs RAM (BRAM) et d'interconnexion programmable. Contrairement à un processeur qui récupère et décode les instructions de façon séquentielle, ou un GPU qui émet la même instruction à de nombreuses voies de données en verrou, un FPGA peut être programmé pour mettre en œuvre un circuit personnalisé qui traite les données à travers un datapath en pipeline profond. Les concepteurs décrivent la logique matérielle en utilisant des langages de description matérielle tels que VHDL ou Verilog, ou de plus en plus par des outils de synthèse de haut niveau (HLS) qui convertissent le code C/C++ en descriptions de niveau de registre-transfert (RTL).

Cette flexibilité architecturale procure plusieurs avantages uniques pour les simulations scientifiques. Premièrement, un FPGA peut exploiter le parallélisme de pipeline à grains fins à plusieurs échelles : niveau bit, niveau opérateur et niveau tâche. Les données passent par une chaîne d'unités arithmétiques dédiées sans le surcoût de l'instruction, du décodage ou de la gestion du cache. Un pipeline bien conçu peut atteindre un intervalle d'initiation de 1 – ce qui signifie qu'un résultat émerge chaque cycle d'horloge après une latence initiale. Deuxièmement, la hiérarchie de mémoire sur puce – BRAM, ultra-RAM (URAM) sur de grands appareils et RAM distribuée – peut être organisée en tampons de forme précise qui correspondent au modèle d'accès d'un pochoir donné, éliminant les erreurs de cache qui frappent les processeurs à usage général.

Pourquoi les FPGA Excel dans les noyaux de simulation climatique

Les modèles climatiques ne sont pas monolithiques; ils sont de grandes suites de routines de composants interactifs, dont beaucoup partagent des motifs computationnels parfaitement adaptés à l'accélération de la FPGA. Les motifs les plus importants sont les suivants:

  • Computations de pochoir – Ces données apparaissent de façon omniprésente dans le noyau dynamique (souveurs de la différence ou de l'élément spectral pour les équations primitives) et dans les schémas de transport pour l'advection des traceurs. Les FPGA peuvent dérouler les boucles spatiales internes en datapathes en pipelines profonds qui calculent plusieurs points de grille par cycle d'horloge, en récupérant simultanément les valeurs voisines des fenêtres de registre de décalage personnalisées mises en place dans les BRAM. En utilisant des tampons de ligne ou des tableaux systoliques, les FPGA peuvent fournir un résultat de pochoir par cycle, en cachant efficacement la la latence de la mémoire.
  • Les réductions et les sommes de préfixe – Diagnostic des quantités mondiales telles que l'énergie totale, la conservation de masse ou le calcul des profondeurs optiques dans le module de transfert radiatif nécessitent des réductions parallèles. Les FPGA mettent en œuvre des arbres de réduction avec une profondeur logarithmique qui produisent des résultats avec une latence déterministe et une faible consommation d'énergie.
  • Sparse linéaire algèbre – Les solutions implicites pour la diffusion verticale, la dynamique de la glace de mer ou les corrections de pression océanique impliquent des matrices éparses avec des motifs de sparté irrégulière. Les architectures FPGA personnalisées peuvent gérer la sparté arbitraire en stockant des formats compressés (p. ex., CSR, COO) et en utilisant le décodage sur la piste, évitant la divergence de distorsion observée dans les GPU. Plusieurs solutions indépendantes peuvent être mises en place en parallèle, chacune fonctionnant sur une colonne différente de la grille climatique.
  • L'évaluation des modèles paramétriques[ – Paramètres à échelle de sous-réseaux, comme la microphysique des nuages, la chimie des aérosols et les flux terrestres, consiste souvent en de nombreux calculs indépendants de petite taille avec de nombreuses branches conditionnelles. Les FPGA peuvent inventorier des copies parallèles de la logique de paramétrisation, chacune traitant une colonne distincte, et exploiter le flux de données pour maintenir toutes les unités actives.L'absence de pénalités de fausses prédictions de branche et la capacité d'utiliser l'arithmétique de précision personnalisée améliorent encore le débit.

En déchargeant ces points chauds à un ou plusieurs FPGA, des modèles entiers peuvent réaliser des accélérations substantielles – souvent de 10× à 50× pour le module accéléré – tout en réduisant l'énergie par simulation de 30‐60% par rapport aux lignes de base CPU seulement ou GPU seulement. Surtout, parce que les FPGA sont reconfigurables, les scientifiques peuvent mettre à jour la conception du matériel au fur et à mesure que le code modèle évolue, une flexibilité impossible avec les ASIC à fonction fixe.

Cartographie de la physique climatique sur le tissu FPGA

Cores dynamiques et pipelines de stencil

Le noyau dynamique d'un modèle climatique résout les équations du mouvement sur la sphère. Des discrétisations telles que des méthodes de volume fini de la sphère cubed ou d'éléments spectraux produisent de grandes opérations de pochoirs qui doivent être appliquées à l'ensemble de la grille globale à plusieurs reprises par heure simulée. Une mise en œuvre naïve du CPU d'un pochoir à 7 ou 25 points souffre d'une mauvaise réutilisation du cache lorsque le rayon du pochoir est grand par rapport à la taille de la ligne de cache. Sur un FPGA, cependant, le pochoir peut être mis en œuvre avec une architecture tampon-ligne. Le FPGA lit le flux de champ d'entrée depuis la mémoire externe, remplit un ensemble de registres de décalage qui tiennent les rangées voisines et alimente un tableau de calcul parallèle qui produit le pochoir de façon entièrement en pipeline – un résultat par cycle d'horloge après une latence initiale qui dépend uniquement du rayon du pochoir.

Des travaux récents publiés dans le IEEE Transactions on Parallel and Distributed Systems ont démontré un accélérateur de pochoirs pour le modèle ICosaédral non hydrostatique (NICAM) sur une carte Xilinx Alveo U280, obtenant 4,2 TFLOPS performance soutenue à une seule précision tout en consommant seulement 45 W, contre 300 W pour un processeur haut de gamme réalisant un débit similaire. La clé était un flux de données optimisé à la main qui a tamponné l'indexation de la grille icosaédrique dans les tables de recherche basées sur BRAM, traduisant la disposition irrégulière de la grille en un flux d'accès régulier. La conception utilisait 32 moteurs parallèles de pochoirs, chaque traitement d'une tuile horizontale différente, et communiqué des conditions de limite via la mémoire sur puce FPGA=3 pour éviter le trafic hors puce.

Pour les noyaux spectraux d'éléments, tels que ceux utilisés dans le noyau de l'EMMC au sein du CESM, les FPGA peuvent accélérer les produits matriciaux locaux qui dominent la résolution élément par élément. Chaque matrice de rigidité d'élément est stockée sur puce et appliquée de façon en pipeline, avec plusieurs éléments traités simultanément à l'aide d'unités de calcul répliquées. Les premiers résultats du Centre national de recherche atmosphérique (NCAR) indiquent qu'une seule matrice Intel Stratix 10 FPGA peut correspondre au débit d'un processeur Xeon de 20 cœurs pour le noyau dynamique spectral-élément de l'EMMC en utilisant moins d'un tiers de la puissance.

Calcul de la profondeur optique et du transfert radiatif

Le module de transfert radiatif calcule les débits de chauffage en intégrant les flux infrarouges solaires et thermiques sur des centaines de bandes spectrales. Chaque colonne a des propriétés optiques qui dépendent de la température, de la pression et des quantités d'absorbeur, ce qui conduit à une cascade de tables de recherche et d'intégrations exponentielles. Ce module est notoirement difficile à vectoriser sur les GPU parce que le débit de contrôle varie fortement d'une colonne à l'autre, selon les schémas de chevauchement des nuages et les distributions d'aérosols. Sur un FPGA, on peut inventorier un pipeline profond qui traite une bande spectrale par cycle d'horloge tout en agrégeant les résultats de colonnes, ou reproduire à plusieurs reprises un processeur de colonnes entièrement pipelineé pour traiter simultanément des centaines de colonnes.

Circulation océanique et solvants implicites

Les modèles océaniques, comme le modèle Océan Modulaire (MOM6), reposent fortement sur des résolveurs implicites de surface libre et des paramétrages de mélange vertical. Ils comportent des inversions tridiagonales ou plus générales de matrices éparses le long de chaque colonne. Parce que les matrices sont petites (généralement 60×60 à partir de 60 niveaux verticaux) mais nombreuses (un par cellule de grille horizontale), un accélérateur FPGA par lots peut résoudre des milliers de systèmes linéaires indépendants en parallèle en utilisant un résolveur personnalisé profondément pipelineé. Chaque instance de résolveur peut contenir un algorithme Thomas mis en œuvre pour les systèmes tridiagonaux, ce qui permet d'obtenir un intervalle d'initiation 1 – ce qui signifie qu'une nouvelle solution se produit chaque fois que le cycle d'horloge est plein.

Comparaison des FPGA avec les GPU et les CPU

Le choix de l'accélérateur pour la modélisation climatique implique un compromis complexe entre performance, programmabilité et maturité de l'écosystème. Les GPU offrent un débit de pointe énorme et un modèle de programmation CUDA relativement familier, avec un riche ensemble de bibliothèques pour l'algèbre linéaire dense et les FFT. Pour des charges de travail très régulières et denses comme les transformations spectrales dans le noyau dynamique, les GPU sont souvent le meilleur choix. Cependant, pour les pochoirs irréguliers, la physique en colonne et les résolveurs épars qui dominent les codes climatiques, les FPGA peuvent fournir une fraction plus élevée des performances de pointe sans le survol de la programmation des fils et des problèmes de coalescence de la mémoire. Une étude 2023 au Oak Ridge National Laboratory a comparé un GPU V100 et un FPGA Stratix 10 sur la suite physique du modèle d'atmosphère communautaire (CAM).

L'efficacité énergétique est une autre dimension où les FPGA brillent. L'obtention de 10 TFLOPS sur un GPU peut nécessiter 400 W, alors qu'un accélérateur basé sur le FPGA peut fournir un débit efficace comparable à 75–100 W lorsque l'algorithme est bien adapté au flux de données. À une époque où l'énergie totale du système est plafonnée et où les empreintes carbone doivent être réduites au minimum, chaque watt économisé par un FPGA se traduit par des ressources calculatrices supplémentaires ou une réduction de l'impact environnemental. La mesure de l'énergie vers la solution est essentielle pour les centres climatiques qui fonctionnent en continu, souvent 24 heures sur 24 et 7 jours sur 7, et doivent justifier leur consommation énergétique auprès des organismes de financement et du public.

Les FPGA ne sont toutefois pas une panacée. Ils nécessitent un flux de travail de développement différent : les concepteurs de matériel doivent réfléchir en termes de cycles d'horloge, de phases de pipelines et de budgets de ressources. Bien que les outils HLS (comme AMD Vitis HLS et Intel oneAPI) aient abaissé la barrière, permettant des descriptions basées sur le C avec pragmas pour guider la synthèse, l'optimisation de la fermeture et du routage du calendrier peut encore prendre plusieurs mois pour des conceptions complexes. L'écosystème logiciel pour le HPC accéléré du FPGA est moins mature que le CUDA; l'intégration avec les modèles basés sur le MPI nécessite généralement un code personnalisé côté hôte et une cartographie minutieuse de la mémoire.

Déploiements et programmes de recherche dans le monde réel

Plusieurs grandes institutions étudient activement l'accélération de l'AGPF pour les prévisions climatiques et météorologiques :

  • Le Centre européen pour les prévisions météorologiques à moyenne distance (ECMWF) a prototype des versions accélérées du noyau de transformation spectrale FPGA sur cartes AMD/Xilinx Alveo. Le design réduit le coût de communication en calculant les transposes directement dans le tissu FPGA, permettant une réduction de 2,5× du mouvement des données et une accélération globale de 1,4× pour la routine de transformation spectrale. ECMWF évalue actuellement un cluster multi-FPGA pour l'assimilation des données d'ensembles mondiaux.
  • JAMSTEC au Japon a porté des parties du modèle global de résolution de nuages NICAM à Intel Stratix 10 FPGA en utilisant le HLS OpenCL. Le noyau d'advection a obtenu une échelle quasi linéaire sur huit FPGA connectés par une topologie à anneaux à haute vitesse, démontrant que les grappes FPGA peuvent gérer la décomposition de domaine et l'échange de halos nécessaires aux simulations climatiques à grande échelle.
  • Le Centre national de recherche atmosphérique (NCAR)[ a travaillé avec l'Université du Colorado sur un accélérateur de climat reconfigurable (RCA) qui combine les processeurs soft RISC‐V avec une logique FPGA personnalisée pour exécuter la paramétrisation des couches de nuages Unifiée par les binormaux (CLUBB). La conception hybride réduit la latence par étape par un facteur de 17 par rapport à un noyau de processeur, tout en maintenant des résultats bioproductibles grâce à une conception d'arbre de réduction soignée.
  • Le UK Met Office a collaboré avec Maxeler Technologies (maintenant partie de Groq) pour accélérer le code de rayonnement du modèle unifié. Le moteur de flux de données personnalisé a fourni une accélération de 35× par rapport à la base de référence du CPU, ce qui a incité le Met Office à évaluer les FPGA pour la prévision météorologique opérationnelle.
  • Le Centre allemand de calcul climatique (DKRZ)[ teste les accélérateurs FPGA pour le modèle ICON (Icosahedral Nonhydrostatic). Les premiers repères sur un Xilinx Alveo U250 montrent que le noyau de transport du traceur peut être accéléré de 8× par rapport à un processeur de 32 cœurs Ice Lake, le FPGA ne consommant que 75 W contre 280 W pour le CPU. DKRZ explore également l'utilisation des FPGA pour la compression en temps réel des données de sortie de simulation, réduisant ainsi les besoins de stockage de 5× sans perte significative d'informations scientifiques.

Défis d'intégration et solutions pratiques

Complexité de programmation et maturité des SLS

The historic barrier to FPGA adoption in climate science has been the need for hardware design expertise. Writing efficient VHDL or Verilog for a complex stencil kernel can take a skilled engineer several months. High‑Level Synthesis, offered by both Intel (Quartus HLS via oneAPI) and AMD (Vitis HLS), enables domain scientists to write kernels in C++ with pragmas to guide pipelining and memory partitioning. HLS can dramatically reduce development time from months to weeks, but achieving performance comparable to hand‑crafted RTL still requires familiarity with hardware‑aware coding practices: loop unrolling factors, array partitioning, and memory banking must be explicitly specified. To bridge this gap, research groups have developed domain‑specific languages (DSLs) and template libraries. The Climate Modeling Alliance has created an HLS template library for geophysical fluid dynamics stencils that abstracts away most hardware details, letting scientists describe the stencil in a high‑level mathematical notation that the toolchain compiles toLe projet open-source HLS4ML, initialement développé pour la physique des particules, a été adapté pour générer des accélérateurs FPGA pour les émulateurs de réseau neuronal du modèle climatique, ce qui a permis d'abaisser encore la barrière.

Mouvement de données Host–Accélérator

Les modèles climatiques génèrent d'énormes volumes de données, une simulation globale d'un kilomètre peut produire des dizaines de téraoctets de données d'état par modèle-jour. Si chaque étape de la physique nécessite de copier l'état atmosphérique entier vers la FPGA et vers le dos, l'avantage de performance de l'accélérateur peut être gaspillé. La solution réside dans l'adoption d'une architecture de streaming : une fois l'état initial chargé sur la FPGA, le dispositif traite plusieurs étapes en interne, ne communiquant que les conditions limites et les sorties diagnostiques. La communication directe FPGA-à-FPGA de plus de 100 GbE ou PCIe tissu peut réduire encore davantage l'implication de l'hôte, construisant efficacement un superordinateur reconfigurable pour la simulation climatique. La nouvelle norme CXL (Compute Express Link) promet également d'offrir un accès à la mémoire cache-cohérente entre les CPU hôtes et la mémoire FPGA, éliminant ainsi les copies de données explicites.

Vérification et reproductibilité au niveau bit

Les modélistes du climat exigent des résultats bit-identiques ou au moins statistiquement identiques sur différentes plateformes matérielles pour valider les nouvelles architectures et garantir que les parcours d'ensemble sont comparables. Les unités flottantes FPGA, qui adhèrent généralement à l'IEEE‐754, peuvent être configurées pour correspondre aux modes d'arrondi CPU. Cependant, la réorganisation des opérations dans un datapath en pipeline profond peut modifier l'ordre d'accumulation, ce qui entraîne de petites divergences qui s'accumulent sur de longues simulations. Pour y remédier, les concepteurs mettent en œuvre des arbres de réduction avec un ordre déterministe, souvent en utilisant un algorithme de sommation compensée (algorithme Kahan) mis en œuvre dans l'arithmétique à point fixe ou à point de blocage au sein de la FPGA. Les travaux publiés par ETH Zurich montrent que ces techniques peuvent obtenir des résultats bit-exacts par rapport aux parcours CPU à double précision tout en offrant des accélérations significatives.

Horizons futurs : architectures d'IA, de Cloud et de prochaine génération

Les paramétrisations basées sur les ML, qui remplacent la physique subgrid traditionnelle par des réseaux neuronaux formés sur des modèles ou des observations à haute résolution, sont efficaces par calcul mais nécessitent toujours un débit d'inférence massif. Les FGA, qui peuvent mettre en œuvre des accélérateurs de réseau neuronal à précision personnalisée (p. ex., 8 bits, 12 bits ou de précision mixte), peuvent servir ces modèles à des taux de prédictions de millions de ML par seconde, le tout dans une enveloppe de puissance compatible avec une instance nuageuse.

Les fournisseurs de services de cloud offrent maintenant des exemples de FPGA (AWS F1, Azure NP‐Series, Alibaba Cloud f3) avec des shells préconstruits, permettant aux climatologues de louer l'accélération de FPGA à la demande. Dans un environnement nuageux, plusieurs FPGA peuvent être orchestrés comme un cluster reconfigurable dynamiquement, à l'échelle avec la taille de simulation. La combinaison de l'accélération de FPGA et de l'informatique sans serveur pourrait éventuellement permettre aux chercheurs de réaliser des prévisions climatiques à haute résolution en tant que service, déclenché par des événements météorologiques extrêmes, sans posséder de matériel dédié.

La prochaine génération de dispositifs FPGA intégrera des blocs IP plus avancés, tels que les moteurs AI (AMD Versal ACAP) avec des processeurs vectoriels étroitement couplés à une logique programmable, et même une intégration plus étroite avec la mémoire à haut bande passante (HBM2e/HBM3). Ces plateformes permettront une performance à simple appareil supérieure à 10 TFLOPS pour le point flottant à double précision, ce qui permettra d'accélérer non seulement les paramétrages physiques mais aussi les composants de modèles entiers.

Considérations économiques et de durabilité

Une analyse récente du cycle de vie par des chercheurs affiliés à Green500 suggère que les grappes accélérées de FPGA peuvent réduire l'empreinte carbone d'une simulation de 30 à 50% par rapport aux grappes CPU seulement qui produisent la même production scientifique. Le coût initial des cartes FPGA est plus élevé que celui des GPU par pic-FLOP, mais le coût total de la propriété sur une durée de vie de 5 ans du système HPC favorise souvent les FPGA lorsque les coûts énergétiques et l'infrastructure de refroidissement sont pris en compte. De plus, la reconfigurabilité des FPGA permet de réutiliser le même matériel pour différents domaines scientifiques – génomique, science matérielle ou physique des particules – entre les campagnes climatiques, améliorant l'utilisation du matériel et amortissant les coûts d'immobilisation.

Dans une perspective de durabilité, la capacité de réduire la consommation d'énergie par simulation contribue directement à la communauté de recherche climatique. De nombreux centres climatiques se sont engagés à atteindre des émissions nettes nulles d'ici 2030, et l'accélération basée sur la FPGA est une voie technologique concrète pour atteindre cet objectif.HPCwire a signalé que les plus grandes installations de simulation climatique, comme le Centre national de recherche énergétique pour l'informatique scientifique (NERSC), investissent dans des bancs d'essai de la FPGA spécifiquement pour réduire les émissions opérationnelles de carbone.

Conclusion

Les FPGA ne sont plus une curiosité exotique dans la modélisation climatique; ils sont une technologie pratique, efficace sur le plan énergétique et de plus en plus accessible qui s'attaque aux modèles informatiques spécifiques des modèles de systèmes terrestres. Des pipelines de stencil en streaming qui éliminent le mur de mémoire, aux solutions de résolution et aux émulateurs de réseau neuronal personnalisés, les FPGA offrent une voie vers la prédiction du climat à l'exascale avec une consommation d'énergie considérablement plus faible. Bien que des défis subsistent en matière de complexité et d'intégration de la programmation, les progrès dans la synthèse de haut niveau, les bibliothèques spécifiques à un domaine et les plateformes de cloud FPGA diminuent constamment la barrière.