De Pandas à MeluXina : mes premiers pas dans le monde du HPC

À l'occasion d'un webinar organisé par EuroCC en février, j'ai eu la chance de recevoir un accès restreint à MeluXina, le supercalculateur national du Luxembourg.

MeluXina, c’est quoi exactement ?

MeluXina est opéré par LuxProvide et fait partie de l’initiative EuroHPC Joint Undertaking.

Côté specs (et là on change d’échelle) :

  • Environ 18 pétaflops de puissance de calcul
  • Plus de 2 000 nœuds de calcul
  • CPU AMD EPYC de dernière génération
  • Plusieurs centaines de GPU NVIDIA A100
  • Réseau InfiniBand haute vitesse
  • Stockage parallèle de plusieurs dizaines de pétaoctets
  • Architecture modulaire avec différentes partitions (CPU, GPU, big memory…)

Pour situer : un bon PC gamer tourne autour de quelques téraflops. MeluXina, c’est des milliers de fois plus puissant.

Ce que ça change mentalement

Sur mon PC :

python script.py

Sur MeluXina :

  1. Tu écris un script Slurm

  2. Tu demandes des ressources (nœuds, RAM, GPU, temps max)

  3. Tu soumets le job

  4. Tu attends dans la file

Ce n’est plus :

“Est-ce que ça marche ?”

C’est :

“Est-ce que ça scale ?

Parquet + Dask : la porte d’entrée idéale

Ce qui m’a surpris, c’est que je n’ai pas eu besoin de plonger directement dans MPI ou C++.

Avec Dask, je pouvais déjà :

  • Lire des datasets Parquet massifs

  • Paralléliser naturellement

  • Exploiter plusieurs cœurs

  • Potentiellement plusieurs nœuds

Le plus intéressant ?

Le changement de paradigme : le calcul devient lazy, distribué, optimisable par un graph de tâches.

On ne pense plus en “boucles”, on pense en workflow de calcul.

Ce que j’ai appris

L’I/O est souvent plus critique que le CPU

Sur des gros volumes :

  • Le format Parquet change tout

  • La partition des données est stratégique

  • Le stockage parallèle devient clé

La vitesse ne vient pas seulement du processeur.

Le parallélisme n’est pas juste “plus rapide”

C’est plus subtil :

  • Scalabilité forte vs faible

  • Communication inter-nœuds

  • Coût mémoire

  • Temps d’attente dans la queue

Parfois, lancer 200 cœurs n’est pas optimal.

Le HPC, ce n’est pas que pour la météo ou la physique

Oui, on pense climat, simulation moléculaire, astrophysique…

Mais en réalité :

  • IA

  • Analyse massive de données

  • Optimisation industrielle

  • NLP à grande échelle

Tout ça est concerné.

 

Ce que ça m’a apporté personnellement

Avec mon background :

  • Python

  • NumPy

  • Optimisation Numba

  • SQL Server

  • Embeddings & vectorisation

Je me suis rendu compte que le HPC est une extension naturelle.

Ce n’est pas un autre monde.
C’est le même monde… mais en beaucoup plus grand.

Ce qui surprend quand même

  • Tu ne contrôles pas la machine.

  • Tu attends ton tour.

  • Tu dois estimer le temps d’exécution.

  • Tu dois gérer des quotas.

C’est plus proche d’un centre de données scientifique que d’un serveur perso.

Le vrai déclic

Le plus gros changement pour moi n’a pas été technique.

Ça a été conceptuel : penser en termes d’architecture et de scalabilité dès le départ.

Même pour mes projets plus “classiques”, ça change la manière de concevoir les traitements.

Ce que je retiens de l’expérience EuroCC

Le webinar via EuroCC m’a permis :

  • De démystifier le HPC

  • De voir que ce n’est pas réservé aux physiciens

  • De comprendre que l’Europe investit massivement là-dedans

  • De découvrir qu’on peut y accéder même en PM

Et maintenant ?

Est-ce que je vais devenir développeur MPI hardcore ?

Probablement pas.

Mais est-ce que je vais :

  • Structurer mes datasets en Parquet proprement ?

  • Penser partitionnement ?

  • Utiliser Dask intelligemment ?

  • Concevoir des pipelines scalables ?

Clairement oui.

Conclusion

Découvrir MeluXina, c’est un peu comme voir l’envers du décor de la puissance numérique européenne.

On comprend :

  • pourquoi la donnée est stratégique,

  • pourquoi l’architecture compte,

  • pourquoi la performance ne s’improvise pas.

Et surtout…

On réalise que le HPC n’est pas un monde à part.

C’est simplement l’étape suivante quand les données deviennent vraiment grandes.

Commentaires