Postale : Performance Optimization by Software Transformation and Algorithms & Libraries Enhancement

La page est créée Alain Gomez
 
CONTINUER À LIRE
Postale : Performance Optimization by Software Transformation and Algorithms & Libraries Enhancement
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