Supercalculateur Frontier : Une nouvelle référence en performance
Frontier fixe un nouveau standard avec des performances HPL inégalées et une optimisation GPU.
― 6 min lire
Table des matières
En juin 2022, le superordinateur Frontier, situé au Oak Ridge National Laboratory, a atteint un jalon impressionnant en se plaçant numéro un sur la liste Top500 des superordinateurs. Il a enregistré un score de 1,1 ExaFLOPS en utilisant le benchmark High-Performance Linpack (HPL). Ce score était plus du double de celui du précédent superordinateur en tête du classement et a marqué Frontier comme la première machine à dépasser un ExaFLOPS en performance HPL. Suite à cet exploit, une version optimisée de HPL, appelée rocHPL, a été publiée en tant que logiciel open-source, rendant son utilisation accessible à tous.
Qu'est-ce que HPL et son importance
Le benchmark HPL est conçu pour évaluer la performance des systèmes informatiques. Il fait cela en mesurant la rapidité avec laquelle le système peut résoudre des équations linéaires à l'aide de calculs matriciels. D'autres benchmarks aident à analyser différents aspects de la performance des ordinateurs, comme la bande passante mémoire et le calcul en précision mixte. HPL est particulièrement précieux car il met à l'épreuve les calculs en virgule flottante de l'ordinateur, la vitesse du réseau et la consommation globale d'énergie. Cela en fait un test fiable pour évaluer à la fois l'efficacité et la fiabilité des nouveaux systèmes informatiques.
L'architecture de Frontier
La haute performance de HPL sur le superordinateur Frontier est principalement attribuée à son architecture avancée, qui comprend des accélérateurs GPU (Graphics Processing Unit) et un réseau rapide. En juin 2022, sept des dix superordinateurs les plus performants sur la liste Top500 utilisaient des accélérateurs GPU. Les nœuds de Frontier se composent d'un seul CPU AMD EPYC à 64 cœurs et de quatre accélérateurs GPU AMD Instinct MI250X. Cette combinaison permet aux GPU de contribuer de manière significative à la puissance de calcul du superordinateur.
Le CPU et les GPU sont agencés sous forme de modules multi-puces (MCM), permettant une communication et un traitement efficaces. Chaque GPU MI250X contient deux Graphical Compute Dies (GCDs) connectés via la technologie Infinity Fabric d'AMD. Dans Frontier, ces accélérateurs GPU MI250X fournissent plus de 98 % de la performance de pointe du nœud.
Comment HPL fonctionne
Pour mesurer la performance, HPL résout un ensemble d'équations linéaires générées aléatoirement à l'aide d'une méthode appelée élimination gaussienne bloquée avec pivotement partiel. Le problème est divisé entre plusieurs processus qui travaillent ensemble, distribuant des parties d'une matrice dans une grille 2D pour équilibrer la charge de travail.
HPL se compose de quatre phases principales, chacune avec des caractéristiques de calcul différentes :
Factorisation de panneau (FACT) : La première étape consiste à factoriser les colonnes principales de la matrice. Cela nécessite une communication à petite échelle entre les processus pour déterminer quelles lignes pivoter.
Diffusion de panneau (LBCAST) : Dans cette phase, la matrice restante sous le bloc diagonal est envoyée à tous les autres processus.
Échange de lignes (RS) : Ici, les lignes pivots identifiées lors de la première phase sont appliquées aux colonnes restantes de la matrice.
Mise à jour finale (UPDATE) : Enfin, une mise à jour de rang est appliquée, incluant une opération inverse triangulaire exigeante et une routine de multiplication matrice-matrice.
La plupart du temps pris par HPL se produit dans les routines DGEMM pendant la phase de mise à jour finale, ce qui est essentiel pour atteindre une haute performance.
Optimisation des performances de HPL avec des accélérateurs GPU
Au cours de la dernière décennie, l'intérêt pour l'utilisation des accélérateurs GPU pour améliorer les performances de HPL a fortement augmenté. Une approche consiste à déléguer les calculs au GPU tout en maintenant la matrice dans la mémoire du CPU. Cette méthode décompose les gros DGEMM en parties plus petites, leur permettant de s'exécuter en parallèle avec les transferts de données.
Des efforts notables antérieurs incluent l'utilisation des accélérateurs ClearSpeed SIMD et des accélérateurs PowerXCell 8i d'IBM dans différents superordinateurs. Les avancées récentes ont rendu possible le stockage de l'ensemble du problème dans la mémoire du GPU, ce qui réduit le besoin de déplacer des données entre le CPU et le GPU, accélérant ainsi les calculs.
Cependant, cette approche présente des défis. Le besoin constant du CPU de coordonner la communication peut créer des délais, surtout pendant la phase complexe de factorisation de panneau, qui est sensible à la fois à la communication et à la latence.
Stratégies récentes dans la mise en œuvre de HPL
Des études récentes ont introduit diverses optimisations pour améliorer HPL sur les architectures GPU modernes. Certains chercheurs se concentrent sur la réduction des mouvements de données entre le CPU et le GPU, permettant au calcul sur le GPU de se dérouler sans interruption. Cela implique souvent que le CPU gère la factorisation de panneau tout en transférant uniquement les données nécessaires vers et depuis le GPU.
Pour améliorer encore les performances, certaines mises en œuvre divisent la phase de mise à jour finale en segments plus petits pouvant être traités tout en gérant la communication. Cette stratégie de pipeline aide à masquer le temps nécessaire pour la communication, permettant à différentes parties du calcul de se chevaucher.
Dans une étude, plusieurs threads CPU sont utilisés pour avancer la communication pendant la phase de diffusion de panneau pendant que la factorisation est en cours. Dans une autre, une bibliothèque de communication qui utilise directement le GPU pour le transfert de données est employée, bien que cela puisse compliquer le chevauchement avec d'autres tâches de communication.
Résultats de performance des mises en œuvre récentes
Les diverses optimisations appliquées à HPL ont montré des promesses d'amélioration des performances, notamment sur des systèmes accélérés par GPU comme Frontier. Des tests effectués sur le cluster Crusher au Oak Ridge National Laboratory ont démontré l'efficacité de ces stratégies pour réduire le temps passé sur la communication entre les processus. En conséquence, une bonne évolutivité des performances à travers plusieurs nœuds a été observée, indiquant que les améliorations étaient réussies.
Conclusion
L'essor du superordinateur Frontier a mis en avant l'importance des stratégies de calcul efficaces et d'optimisation. Alors que la technologie évolue, l'accent mis sur la maximisation des performances à l'aide d'accélérateurs GPU continuera d'être crucial. Les développements dans HPL et les optimisations associées sont non seulement importants pour obtenir de bons scores dans les benchmarks, mais ouvrent également la voie à des applications réelles améliorées dans divers domaines.
En mettant en œuvre ces nouvelles stratégies, chercheurs et développeurs peuvent mieux exploiter les superordinateurs pour s'attaquer à des problèmes de plus en plus complexes, conduisant finalement à des avancées en science, en ingénierie et en technologie.
Titre: Optimizing High-Performance Linpack for Exascale Accelerated Architectures
Résumé: We detail the performance optimizations made in rocHPL, AMD's open-source implementation of the High-Performance Linpack (HPL) benchmark targeting accelerated node architectures designed for exascale systems such as the Frontier supercomputer. The implementation leverages the high-throughput GPU accelerators on the node via highly optimized linear algebra libraries, as well as the entire CPU socket to perform latency-sensitive factorization phases. We detail novel performance improvements such as a multi-threaded approach to computing the panel factorization phase on the CPU, time-sharing of CPU cores between processes on the node, as well as several optimizations which hide MPI communication. We present some performance results of this implementation of the HPL benchmark on a single node of the Frontier early access cluster at Oak Ridge National Laboratory, as well as scaling to multiple nodes.
Auteurs: Noel Chalmers, Jakub Kurzak, Damon McDougall, Paul T. Bauman
Dernière mise à jour: 2023-04-20 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2304.10397
Source PDF: https://arxiv.org/pdf/2304.10397
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.