Vectorisation SIMD (Simple Instruction Multiple Data)

Nouveau en 2019 !

Les concepts de la vectorisation, apparus dans les années 70, ont permis durant les décennies suivantes la réalisation de machines spécifiques adaptées à la simulation numérique, aux performances exceptionnelles pour leur époque.

Si cette catégorie d'ordinateurs a ensuite disparu, les concepts de la vectorisation restent totalement pertinents et, lorsqu'ils peuvent être mis en œuvre, induisent de forts taux d'accélération sur les portions de codes qui s'y prêtent.

Des dispositifs matériels ont donc été introduits dans les processeurs scalaires « classiques », notamment par l'intermédiaire des extensions AVX (Advanced Vector Extensions) ajoutés aux jeux d'instructions de l'architecture x86 d'Intel et AMD, et des extensions SVE (Scalable Vector Extension) des processeurs ARM. Plusieurs déclinaisons en ont été progressivement introduites et leur utilisation est aujourd'hui une clé incontournable pour obtenir de bonnes performances sur les générations actuelles de processeurs.

Responsable :

Objectif :

L'objectif de cette formation est de présenter les concepts de la vectorisation et la façon d'en tirer bénéfice sur les générations modernes de processeurs :

  • S'initier à la vectorisation SIMD (Simple Instruction Multiple Data)
  • Appréhender les concepts sous-jacents
  • Mettre en œuvre ces concepts sur des exemples concrets

Public concerné :

tout utilisateur désirant acquérir des notions sur la vectorisation SIMD

Pré-requis :

connaissance de base d'UNIX et du langage FORTRAN

Durée :

1 jour

Assistance

maximale : 20 personnes, minimale : 10 personnes.

Programme :

  • Présentation des concepts généraux
  • Problème de vectorisation (dépendances, flux irréguliers, ..)
  • Améliorer la vectorisation (OpenMP SIMD, optimisation du stockage des données, ..)
  • Analyse de l'efficacité de la vectorisation avec le Roofline model
  • Outils d'analyse de la vectorisation

50 % du temps sera consacré aux travaux pratiques

Équipement :

supercalculateur(s) de l'IDRIS

Intervenant :

S’inscrire à cette formation :