
Formation : Vectorisation SIMD (Simple Instruction Multiple Data)
Responsable : Dimitri LECAS
Intervenant : Dimitri LECAS
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 l'é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 ont été progressivement introduites dans les architectures et leur utilisation est aujourd'hui une clé incontournable pour obtenir de bonnes performances sur les générations actuelles de processeurs.
Objectifsâ
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é
- Pré-requis
- Durée et modalités
- Contenu de la formation
- Supports de cours
- Prochaines sessions
Public concernĂ©â
Tout·e utilisateur·rice désirant acquérir des notions sur la vectorisation SIMD
DurĂ©e et modalitĂ©sâ
Cette formation dure 1 jour.
Elle a lieu uniquement en présentiel dans les locaux de l'IDRIS à Orsay (91).
Assistanceâ
Minimale : 8 personnes ;
Maximale : 20 personnes.
Programmeâ
- Introduction
- Qu'est ce que le SIMD ?
- IntĂ©rĂȘt du SIMD
- Ăvolution de la technologie
- ProblĂšme de vectorisation
- Dépendances
- Appels de fonctions
- Premier TP
- OpenMP SIMD
- Le standard OpenMP SIMD
- Déclaration de boucle vectorielle avec OpenMP SIMD
- Déclaration de fonction vectorielle avec OpenMP SIMD
- DeuxiĂšme TP
- Gain de la vectorisation
- Perte d'efficacité à cause des accÚs mémoire
- ModĂšle des gains de la vectorisation grĂące au Roofline model
- TroisiĂšme TP
- Outils
- Présentation de l'outil INTEL Vector Advisor
- Présentation de l'outil Maqao
- QuatriĂšme TP
- Conclusion et TP final
đĄ 50 % du temps sera consacrĂ© aux travaux pratiques
Pour une exĂ©cution efficace des parties pratiques, celles-ci se dĂ©rouleront sur le supercalculateur Jean Zay. Une station de travail avec accĂšs au calculateur de l'IDRIS est mise Ă disposition des apprenants. Une expĂ©rience dans lâutilisation dâun supercalculateur, tout comme un accĂšs prĂ©alable Ă celui-ci, ne sont pas requis.
Support de coursâ
Tous les supports de cours, y compris les diapositives, les notes et les exercices pratiques, sont fournis sous la licence suivante : Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). Pour plus de détails sur la licence, veuillez consulter cette page.
Pour consulter les dates des prochaines sessions de cette formation, rendez-vous sur la page suivante :
Inscription
Personnel CNRS/EPSCP/université française | Participants externes |
Vous ĂȘtes personnel du CNRS, d'une universitĂ© française ou d'un Ă©tablissement public Ă caractĂšre scientifique, culturel et professionnel (EPSCP) ? Votre inscription est gratuite via notre serveur. | Nos formations sâadressent Ă tous les professionnels des entreprises, organismes publics et particuliers. |