Positionnement dans le cursus
Semestre 5
Intersemestre
Semestre 6
 
 
 
Semestre 7
 
Intersemestre
Semestre 9
 
 
Intersemestre

Groupe pédagogique - TB2-CHP

TB2 - CALCUL HAUTE PERFORMANCE

Modifier

Crédits ECTS

2.5

Responsable:

  • BRUCHON Julien
  • Description générale :

    Contexte et objectifs

    Un ingénieur est souvent impliqué dans le développement de programmes informatiques permettant de réaliser des calculs importants mais complexes et donc coûteux. Or, de tels calculs se heurtent fréquemment aux limitations physiques des ordinateurs (temps de calcul ou ressources mémoire exorbitants) qui peuvent rendre le calcul impossible. De plus, ces programmes sont encore le plus souvent développés dans une optique séquentielle, c’est-à-dire mono-processeur. Cette approche ne permet pas de tirer profit de toute la puissance le calcul des architectures actuelles qui sont multi-processeurs et/ou multi-coeurs, et encore moins d’utiliser les infrastructures disponibles (ordinateurs ou clusters ou grilles de calcul) capables d’offrir plus d’une unité de calcul. Seule une optique calcul parallèle (multi-processeurs) peut permettre d’accéder au calcul haute performance.

    Dans la toolobx Calcul Haute Performance (CHP) les élèves acquerront les techniques de conception d’algorithme et de programmes parallèles ainsi que la connaissance et l'usage des outils qui aident à la réalisation de ces programmes selon différentes approches : utilisation des processeurs graphiques (GPU), des processeurs multicoeurs, des processeurs de calcul distants.

    Les objectifs pédagogiques sont :·   

    • comprendre les principes et les paradigmes du calcul haute performance,·        
    • apprendre à utiliser un cluster de calcul ;
    • connaître et utiliser des API (interfaces de programmation) permettant de programmer des applications parallèles.

    Cohérence entre les unités pédagogiques du groupe pédagogique:

    Cette toolbox se compose de trois UP (unités pédagogiques). La première UP est constituée d'un ensemble de 15h de cours et TP correspondant, d’une part à la partie "théorique" de la toolbox (introduction, architecture et algorithmique parallèles) et d’autre part à une application, la programmation multi-cœurs avec OpenMP. Les deux UP restantes, de 12h chacune, alternent cours et TP et permettent la mise en pratique (programmation) des principes du calcul haute performance en utilisant, respectivement, la programmation avec MPI, et sur GPU.

    UP1 : Introduction au calcul parallèle et distribué

    ·         Introduction : classification de Flynn - notions de base

    ·         Architecture des machines parallèles

    ·         Algorithmique parallèle (modèle PRAM), paradigmes, performances

    ·         Programmation parallèle par threads

    UP2 : Programmation parallèle avec MPI

    ·         Programmation parallèle par envoi/réception de messages, multi-cœur et multi-noeud

    UP3 : Programmation parallèle sur GPU

    ·         Programmation des processeurs graphiques (GPU)

    Parcours et cohérence avec les autres groupes pédagogiques:

    Le calcul haute performance permet de résoudre numériquement des problèmes qui ne pourraient être abordés par le calcul séquentiel, à cause d'un temps de calcul et/ou de ressources en mémoire prohibitifs. Ces problèmes sont par exemple des problèmes d'optimisation en génie industriel, de traitement d'image (médecine, sciences des matériaux), de résolution d'équations aux dérivées partielles en physique et mécanique (méthodes des éléments finis, dynamique moléculaire), ... La toolbox "CHP" est donc susceptible d'être combinée à tout autre GP scientifique faisant appel au calcul numérique.

    Mots-clés:

    calcul parallèle cluster de calcul OpenMP MPI GPU