vendredi 2 octobre 2015, par D. Gratadour
Un sous-système critique du calculateur temps-réel (en anglais real-time computer : RTC) de l’optique adaptative (OA), et de la simulation numérique associée, est le module de supervision. Son rôle est de nourrir le coeur de calcul temps-réel à un rythme régulier avec une matrice de reconstruction, calculée à partir d’une analyse statistique des mesures.
Dans le cas d’un système d’OA tomographique, ce processus implique l’inversion d’une matrice dense : la matrice de covariance des mesures de l’analyseur de surface d’onde de l’OA, dont la taille pourrait atteindre jusqu’à 100k x 100k pour les instruments de l’E-ELT les plus complexes actuellement en projet. Cette inversion peut être effectuée par décomposition spectrale (Abdelfattah et al. 2014) ou par inversion directe. Dans ce dernier cas, la complexité numérique évolue comme N3 et les algorithmes sous-jacents nécessitent une synchronisation fréquente des communications dans les étapes du calcul, ce qui représente un goulot d’étranglement qui limite les performances.
En considérant les performances maximales pouvant être atteintes avec un GPU pour un produit matrice-matrice (au coeur de la factorisation de Cholesky pour l’inversion d’une matrice symétrique), il faudrait utiliser une centaine de GPU pour inverser une matrice 100k x 100k en double précision flottante à la cadence requise par une OA tomographique. Afin de pouvoir simuler et éventuellement piloter cette échelle de système, il est nécessaire de réduire ce nombre. Développer des méthodes efficaces pour l’inversion de cette matrice symétrique dense, devrait aussi permettre de réduire le coût de l’infrastructure finale, de minimiser la complexité du système et de maximiser son efficacité énergétique.
Afin de développer des solutions optimisées pour s’attaquer à ce problème central pour l’opération des systèmes d’OA, nous avons entamé une collaboration avec le Extreme Computing Research Center (ECRC) à la King Abdullah University of Science and Technology (KAUST) en Arabie Saoudite, visant à développer une approche efficace du calcul de la matrice de contrôle pour l’OA sur un système multi-coeurs équipé de plusieurs GPU. Cette approche est basée sur l’utilisation de moteurs de répartition de la charge de calcul sur un système distribué, comme MORSE (Matrix Over Runtime Systems at Exascale). Le but de ce type d’outils est de fournir des méthodes d’algèbre linéaire permettant de maximiser les performances de calcul sur des systèmes multi-coeurs distribués à grande échelle et équipés d’accélérateurs matériels, en utilisant toute la puissance de traitement disponible. Ce type d’outils repose sur l’utilisation de systèmes dynamiques d’ordonnancement des tâches de calcul simultanément sur différents coeurs et d’un modèle de programmation de flux de données basé sur l’utilisation de graphes acycliques directs (DAG) pour un ordonnancement efficace dans lequel les tâches sont exécutées de manière asynchrone tout en respectant un chemin critique.
Notre approche originale pour le calcul du reconstructeur d’une OA tomographique est basée sur la factorisation Cholesky d’une matrice dense et symétrique. Ce travail permet aujourd’hui d’inverser une matrice 50k x 50k en une minute environ sur un serveur de calcul haut de gamme équipé de GPU. Les progrès qui seront réalisés dans les prochaines années sur ce type d’architecture et l’apparition de systèmes avec une plus grande densité de GPU devraient permettre de maintenir ce type de temps d’exécution mais sur des matrices de plus grandes tailles (jusqu’à 100k x 100k).
Plus récemment, dans le cadre de cette collaboration, nous avons développé une nouvelle approche de simulation des systèmes d’OA tomographiques basé sur le même type de d’outils et fonctionnant sur plusieurs GPU (Gendron et al. 2014). À partir d’un modèle des erreurs de reconstruction tomographique et d’une approche pseudo-analytique il est possible de déterminer les performances du système en utilisant le formalisme de l’algèbre linéaire et le reconstructeur tomographique discuté ci-dessus. Une des caractéristiques clés de cette approche de simulation d’OA est l’utilisation intensive de méthodes BLAS de niveau 3, qui représentent les principaux blocs de base de l’ensemble de l’approche. Il existe des librairies optimisées pour ces opérations, fournies par la plupart des fabricants de matériel, ce qui permettra à terme de migrer cette simulation d’OA vers d’autres accélérateurs, par exemple, Intel Xeon Phi, AMD APU ou même des systèmes équipés de processeurs ARM et d’accélérateurs matériels. La possibilité d’utiliser des systèmes à mémoire distribuée est également étudiée pour pouvoir exécuter différentes simulations simultanément et générer différentes séquences d’observation. Il est essentiel d’évaluer la performance des solutions précitées sur les architectures informatiques émergentes, en se concentrant sur les opérations BLAS de niveau 3 impliquées à la fois dans les simulations de systèmes tomographiques et pour leur rôle dans le RTC du système final. L’objectif est à la fois d’optimiser la vitesse d’exécution des simulations de manière à mener de grandes campagnes de simulations à l’échelle pour le dimensionnement des futurs télescopes à diamètre extrême et de maximiser l’efficacité du calcul du reconstructeur tomographique dans le contexte de l’opération du système.