Formation OpenMP/OpenACC
- Thème : OpenMP/OpenACC
- Date : du lundi 1 au vendredi 5 décembre 2014
- Lieu : salle de séminaire 2 du bâtiment Braconnier à l’institut Camille Jordan plan d’accès
Contexte
Dans le cadre d’equip@meso, du réseau régional LyonCalcul et du Groupe Calcul, et à la suite de l’atelier programmation multi/many-coeurs organisé en février, nous proposons une semaine de formation à la programmation en mémoire partagée.
Les deux modules porteront sur :
-
OpenMP “des bases vers l’expertise et OpenMP 4.0”, présenté par Pierre-François Lavallée, IDRIS, 3 jours
-
OpenACC “découverte”, présenté par Arnaud Renard, Centre de Calcul ROMEO, 2 jours
Détails
Cette formation se déroulera du 1er au 5 décembre 2014, sur le campus de la Doua, salle de séminaire 2 du bâtiment Braconnier à l’institut Camille Jordan. Elle comprendra des TPs sur les machines d’equip@meso (chacun(e) doit prévoir un ordinateur portable faisant du ssh avec déport du display). Les déjeuners seront pris en charge.
Le nombre de participant(e)s est limité à 25.
Inscription
Merci de vous inscrire en envoyant un mail à louvet@math.univ-lyon1.fr (préciser en 1 phrase vos attentes/motivations/contexte)
Détails des interventions
- OpenMP est une API portable et performante permettant de paralléliser facilement des codes écrits en C/C++ ou Fortran, sur des architectures à mémoire partagée. C’est aujourd’hui la norme de facto pour développer des applications scientifiques adaptées aux spécificités des noeuds de calcul des architectures “multi-cores” actuelles et “many-cores” à venir.
Cette formation d’introduction à OpenMP vise à présenter les concepts de la parallélisation en mémoire partagée en utilisant l’API OpenMP et à montrer concrètement son utilisation effective sur de nombreux exemples et TP d’application. Au travers de l’utilisation des directives, des fonctions de la bibliothèque OpenMP et des variables d’environnement, nous aborderons aussi bien les fonctionnalités basiques de création et de gestion des threads, de synchronisation, de partage du travail, du choix du statut des variables, que celles plus évoluées introduites dans la dernière version d’OpenMP 4.0 de création de taches avec ou sans dépendance, de vectorisation SIMD, d’utilisation d’accélerateur (GPGPU ou Xéon Phi) ou encore du placement optimisé des threads (“binding”) sur l’architecture cible.
-
OpenACC
- PART 1. Intro à OpenACC : Architecture GPU, présentation de l’environnement de TP, offloading loops, gestion des copies de données entre l’host et le device, tuning du mouvement et de l’accès aux données, loop scheduling
- PART 2. OpenACC Avancé : Espace d’adressage global host / device, mode non bloquant, fonctions Kernel, offload sur l’host, interopérabilité avec CUDA et les bibliothèques, multi-GPU avec OpenACC
SommaireAccueil Interface d’administration Mentions légales
Programme de la journée Julia/Pythran du 27 juin 2016 Agenda Ecoles doctorales Contact/Mailinglist Liens Formulaire d’inscription à la journée Julia/Pythran du lundi 27 juin 2016