Postale : Performance Optimization by Software Transformation and Algorithms & Libraries Enhancement
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Postale : Performance Optimization by Software Transformation and Algorithms & Libraries Enhancement Marc Baboulin Inria Saclay et Université Paris-Sud Laboratoire de Recherche en Informatique 4 juin 2014 (Inria Saclay) Postale Project February 6, 2014 1 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: Energie (fin de course aux GHz, développement des multicœurs) (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: Energie (fin de course aux GHz, développement des multicœurs) Communications (goulot d’étranglement, flops importent moins) (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: Energie (fin de course aux GHz, développement des multicœurs) Communications (goulot d’étranglement, flops importent moins) Hétérogenéité (accélérateurs: GPUs, Xeon Phi) (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: Energie (fin de course aux GHz, développement des multicœurs) Communications (goulot d’étranglement, flops importent moins) Hétérogenéité (accélérateurs: GPUs, Xeon Phi) Qualité numérique (précision, reproductibilité) (Inria Saclay) Postale Project February 6, 2014 2 / 26
Contexte scientifique Super-calculateur le plus rapide (TOP 500 benchmark) Janv. 2009: 1.1 Pflop/s 2.5 MW Déc. 2013: 33.8 Pflop/s 17.8 MW (×30) (×7) Objectif: 1 Eflop/s vers 2020-2022 à 20 MW Principaux enjeux: Energie (fin de course aux GHz, développement des multicœurs) Communications (goulot d’étranglement, flops importent moins) Hétérogenéité (accélérateurs: GPUs, Xeon Phi) Qualité numérique (précision, reproductibilité) Tolérance aux défaillances (Sequoia BG/Q: 1,25 /nœud/jour) (Inria Saclay) Postale Project February 6, 2014 2 / 26
Outline 1 Activité HPC au LRI - Equipe Inria Postale (Inria Saclay) Postale Project February 6, 2014 3 / 26
Outline 1 Activité HPC au LRI - Equipe Inria Postale 2 Bibliothèques numériques pour architectures multicœurs-GPU (Inria Saclay) Postale Project February 6, 2014 3 / 26
Outline 1 Activité HPC au LRI - Equipe Inria Postale 2 Bibliothèques numériques pour architectures multicœurs-GPU (Inria Saclay) Postale Project February 6, 2014 4 / 26
Objectifs de Postale Postale: Equipe-projet d’Inria Saclay dans le domaine du HPC Tirer parti des nouvelles architectures dans les applications, en allant des compilateurs jusqu’aux bibliothèques logicielles Développer méthodes et logiciels pour l’optimisation et la transformation de programmes Configuration d’architectures pour une application ou un algorithme donné Tirer parti de la connaissance du programmeur/utilisateur pour développer des codes efficaces Proposer des algorithmes/bibliothèques efficaces et précis pour les architectures hautement parallèles et/ou hétérogènes (Inria Saclay) Postale Project February 6, 2014 5 / 26
Objectifs de Postale Postale: Equipe-projet d’Inria Saclay dans le domaine du HPC Tirer parti des nouvelles architectures dans les applications, en allant des compilateurs jusqu’aux bibliothèques logicielles Développer méthodes et logiciels pour l’optimisation et la transformation de programmes Configuration d’architectures pour une application ou un algorithme donné Tirer parti de la connaissance du programmeur/utilisateur pour développer des codes efficaces Proposer des algorithmes/bibliothèques efficaces et précis pour les architectures hautement parallèles et/ou hétérogènes Maitrise de la chaı̂ne complète, des algorithmes à l’architecture (Inria Saclay) Postale Project February 6, 2014 5 / 26
Membres permanents de l’équipe Marc Baboulin, Resp. d’équipe, Professeur Univ. Paris-Sud Christine Eisenbeis, Directrice de recherche Inria Saclay Daniel Etiemble, Professeur Univ. Paris-Sud Joël Falcou, Maı̂tre de conférences Univ. Paris-Sud Grigori Fursin, Chargé de recherche Inria Saclay Lionel Lacassagne, Maı̂tre de conférences HDR Univ. Paris-Sud Collaborateur extérieur: Cédric Bastoul, PR Univ. Strasbourg Les membres de Postale appartiennent à l’équipe ParSys (Parallel Systems) du Laboratoire de Recherche en Informatique (Inria Saclay) Postale Project February 6, 2014 6 / 26
Thèmes de recherche Postale : from applications to parallel architectures Application Application Topic 3 : High-level libraries & applications Algorithm Algorithm Topic 2 : Programmer/compiler interface Compiler Compiler Binary Binary and and kernels kernels Topic 1 : Architecture & program optimization Run-time Run-time environment environment Architecture Architecture (Inria Saclay) Postale Project February 6, 2014 7 / 26
Optimisation de programmes et d’architectures Tuning collaboratif de programmes Systématiser l’expérimentation par une approche collaborative: Collective Mind public repository (http://c-mind.org/repo) pour partager tout type d’objet de recherche incluant les méta-descriptions (données, benchmarks, outils, modèles) Systématiser l’auto-tuning en appliquant des techniques d’apprentissage et de fouille de données pour prédire l’optimisation de programmes à partir de données collectées Support d’un nouveau modèle de publication où tous les résultats sont partagés et validés par la communauté (Inria Saclay) Postale Project February 6, 2014 8 / 26
Optimisation de programmes et d’architectures Prise en compte de contraintes algorithmiques dans les techniques de compilation Etendre le modèle polyédrique pour prendre en compte les transformations communication-avoiding (e.g., calculs aux points frontières...) Outils d’optimisation pour le placement de données: transformation de data layout, génération automatique d’instructions MPI... Consommation d’énergie: calcul réversible, monitoring et modèle de coût de l’énergie des processeurs, algorithmes en précision mixte (Inria Saclay) Postale Project February 6, 2014 9 / 26
Interface programmeur-compilateur Exploiter les informations spécifiques au domaine d’application en utilisant la programmation générative Proposer un langage déclaratif lié au domaine d’application (ex. traitement d’image, algèbre linéaire, Lattice QCD) Extraire l’information de haut niveau pour le compilateur et améliorer la performance, considérer les caractéristiques de l’architecture comme un composant additionnel Domain Specific Generative Component Concrete Application Application Description Translator Parametric Sub-components (Inria Saclay) Postale Project February 6, 2014 10 / 26
Bibliothèques de haut niveau et applications Accélérer les simulations numériques sans perte de précision Algorithmes hybrides pour les architectures hétérogènes Minimiser les communications et les synchronisations dans les algorithmes d’algèbre linéaire (réduire pivotage, look-ahead...) Qualité numérique dans les applications HPC (Inria Saclay) Postale Project February 6, 2014 11 / 26
Bibliothèques de haut niveau et applications Transformations pour le traitement d’image Re-design d’algorithmes séquentiels irréguliers pour environnement parallèle (Connected Component Labeling, Light Speed Labeling) Implémentation temps réel d’applications de vision par ordinateur pour systèmes embarqués Bibliothèque pour allocation mémoire Benchmarking et optimisation de code (Xeon Phi, Kalray...) Codage d’arithmétique pour systèmes embarqués (Inria Saclay) Postale Project February 6, 2014 12 / 26
Exemples d’applications Equations de Navier-Stokes: Optimisation de solveurs tridiagonaux (Magny-cours) 70 60 Cycle per value (c/v) 50 DGTSV vectorized Thomas 40 L2 cache size L3 cache size 30 20 10 1.0e+02 1.0e+03 1.0e+04 1.0e+05 1.0e+06 Number of RHS Traitement d’image: algorithme de Harris (détection de points) Nehalem 5 4.5 4 3.5 3 cpp 2.5 2 1.5 1 0.5 0 400 800 1200 1600 2000 size (Inria Saclay) Postale Project February 6, 2014 13 / 26
Equipe associée Projet R-LAS (Randomized Linear Algebra Software) Equipe-associée avec Université du Tennessee (Jack Dongarra) Objectif: Proposer des algorithmes plus rapides que les algorithmes déterministes (moins de calcul et/ou de communication) tout en garantissant la précision des résultats. Exemples: Eviter le pivotage dans l’élimination de Gauss en utilisant des transformations aléatoires, Random Butterfly Transformations (RBT) → moins de communication Calcul d’estimateurs statistiques de conditionnement (SCE) → moins de calculs (Inria Saclay) Postale Project February 6, 2014 14 / 26
Equipe associée R-LAS (Randomized Linear Algebra Software) Exemple d’approche globale proposée par Postale: Développement d’algorithmes numériques adaptation à plusieurs types de solveurs (dense/creux, itératifs/directs) Génération de code par DSL codes prototypes, analyse de performance, test sur nouvelles architectures Tuning des paramètres par approche collaborative nombre de récursions pour RBT nombre de vecteurs orthogonaux pour SCE (Inria Saclay) Postale Project February 6, 2014 15 / 26
Outline 1 Activité HPC au LRI - Equipe Inria Postale 2 Bibliothèques numériques pour architectures multicœurs-GPU (Inria Saclay) Postale Project February 6, 2014 16 / 26
Why GPU-based computing Most HPC applications report high speedups with GPUs. Top 500, November 2013: 53 systems with accelerators. #2 and #6 systems use NVIDIA GPUs (#1 and #7 systems use Intel Xeon Phi) Green500 list: Top 10 are all GPU-accelerated (Inria Saclay) Postale Project February 6, 2014 17 / 26
Principles of hybrid implementation 1 Exploit strengths of each architectural component 2 Minimize communication and data transfers 3 Properly schedule the tasks execution over the CPU and the GPU 4 Exemple: MAGMA (linear algebra library for hybrid architectures) Task splitting in hybrid LU factorization (4 panels) (Inria Saclay) Postale Project February 6, 2014 18 / 26
Solvers that reduce data-communication costs Our recent development in hybrid LU factorization: Communication in pivoting can be reduced by using tournament pivoting→ H-CALU solver We can remove completely the pivoting by preprocessing the system by randomization (O(n2 ) flops) → PRBT solver (Inria Saclay) Postale Project February 6, 2014 19 / 26
Performance/accuracy of hybrid LU implementations 300 1e-13 PRBT PRBT H-CALU H-CALU magma_dgetrf magma_dgetrs 250 200 Backward error Gflop/s 150 1e-14 100 50 0 1e-15 1024 3072 5120 7168 9216 11264 13312 15360 17408 1024 2048 3072 4096 5120 6144 7168 8192 9216 10240 11264 12288 13312 14336 15360 16384 17408 Matrix size Matrix size Performance results Componentwise backward error |Ax −b| (ω = maxi (|A|·|x |+|bi |) ) i Experiments on AMD (16 threads) + NVIDIA Fermi Tesla S2050 (Inria Saclay) Postale Project February 6, 2014 20 / 26
Mixed precision algorithms Bulk of the computation in 32-bit arithmetic Postprocess the 32-bit solution by refining it into a solution that is 64-bit accurate Can be performed on the GPU Problem must be ”not ill-conditioned” Application to linear systems and linear least squares (Inria Saclay) Postale Project February 6, 2014 21 / 26
Mixed precision algorithms Example of the LU factorization 1: LU ← PA (εs ) O(n3 ) 2: solve Ly = Pb (εs ) O(n2 ) 3: solve Ux0 = y (εs ) O(n2 ) do k = 1, 2, ... 4: rk ← b − Axk −1 (εd ) 5: solve Ly = Prk (εs ) 6: solve Uzk = y (εs ) 7: xk ← xk −1 + zk (εd ) check convergence done (Inria Saclay) Postale Project February 6, 2014 22 / 26
Mixed-precision LU factorization - NVIDIA Fermi Tesla C2050 (Inria Saclay) Postale Project February 6, 2014 23 / 26
700 650 600 550 500 450 400 Gflop/s 350 300 250 200 150 QR single prec CSNE mixed prec 100 QR double prec 50 magma sgemm 0 10 .. 00 00 00 00 0 00 30 50 80 10 0/ 0/ 0/ 0/ 0/ 00 00 00 00 00 10 13 15 18 20 Mixed-precision least squares solver (CSNE) - NVIDIA Tesla C2075 (Inria Saclay) Postale Project February 6, 2014 24 / 26
Software Collective Mind: computer systems optimizations using machine-learning approach (G. Fursin) myNRC: image-oriented library for allocation and manipulation of SIMD 1D, 2D and 3D structures (L. Lacassagne) NT2: C++ high level framework for scientific computing (J. Falcou) (Sca)LAPACK, PLASMA, MAGMA: linear algebra solvers and randomized algorithms (M. Baboulin) (Inria Saclay) Postale Project February 6, 2014 25 / 26
Résumé Recherche centrée sur des sujets majeurs de la communauté HPC (énergie, communication, hétérogeneité...) Utiliser nos compétences complémentaires au service des applications Développer des collaborations dans Paris-Sud et Paris-Saclay (LIMSI, Labo Maths, LPT, Maison de la Simulation..) Concevoir et valoriser les bibliothèques logicielles Développement de partenariats industriels (EDF, ARM...) Implication dans la formation à la recherche (Master 2 Info, Master 2 HPC) (Inria Saclay) Postale Project February 6, 2014 26 / 26
Vous pouvez aussi lire