Entrée-Sorties, Traitement des données et Visualisation

La lecture et l'écriture parallèle, le traitement des données et de la visualisation sont des points critiques, parfois négligés, de la simulation numérique. La Maison de la Simulation a développé une expertise forte dans ces thématiques pour améliorer ses codes de calcul et gérer les données générées.

Assurer l’efficacité des entrée-sorties (ou lecture-écriture, aussi abrégé IO), notamment parallèles, est essentielle à la simulation numérique pour les codes en production. Les codes de calcul massivement parallèles produisent énormément de données et sont consommateurs de beaucoup d’espace disque. Les entrée-sorties peuvent parfois représentées près de la moitié du temps de calcul ; le temps est alors utilisé pour transférer les données depuis la mémoire RAM vers les disques ou inversement pour relire de gros volumes de données. La Maison de la Simulation s’intéresse à plusieurs aspects des IOs pour améliorer ses codes en fonction des objectifs des scientifiques :

  • L’écriture et la lecture en parallèles comme les bibliothèques HDF5 ou NetCDF pour les diagnostiques.
  • Les techniques pour le checkpointing
  • Les runs d’ensemble ou la capacité à faire tourner beaucoup de simulations pour couvrir un espace paramétrique

Une simulation faite sur plusieurs dizaines de milliers de cœurs peut générer plusieurs To de données. Il est donc essentiel de pouvoir traiter ces données  de manière parallèle et optimisée pour accélérer l’analyse scientifique. C’est également le cas des runs d’ensemble pour l’exploration d’espace de paramètres. Pour ces derniers il faut traiter les données au cours des exécutions et construire une solution partielle permettant si besoin de rediriger les simulations suivantes.

La visualisation est l’étape suivante. Être capable de visualiser correctement les données jouent un rôle tout aussi évident dans la compréhension des résultats de simulations et l’explication des phénomènes physiques en jeu. La Maison de la Simulation bénéficie d’installation unique telle que la salle mur d’images stéréoscopique Mandelbrot et d’un cluster de traitement dédié à base de GPU. La visualisation regroupe plusieurs aspects :

  • Visualisation 2D (Python par exemple)
  • Visualisation 3D (Paraview, VTK, VisIt)
  • Visualisation tuilée (TiledViz) pour l’analyse et la comparaison d’un grand nombre de simulations simultanément.