CHPS0701 - Algorithmique et programmation parallèle

Retour au parcours Retour à la liste des EC
  • Équipe pédagogique

    • Responsables

    • JAILLET Christophe (Responsable)
      Département : Informatique (UFR SEN)
    • Intervenants

    • DELISLE Pierre
      Département : Informatique (UFR SEN)
    • JAILLET Christophe
      Département : Informatique (UFR SEN)
  • Volume horaire

  • Nature CMTDTP Total
    Durée 20h10h10h40h
  • Modalités de contrôle des connaissances (MCC)

  • Epreuves Nature ProjetDSTEOT Total
    Durée 2h0h30
    Cas général 1ère session 4060 100%
    2nd session 4060 100%
    Dispense contrôle continu 1ère session 4060 100%
    2nd session 4060 100%
  • Modalités de contrôle des connaissances (MCC)

  • Cas général

  • Nature Durée 1ère session 2ème session
    Projet 40% 40%
    DST 2h 60% 0%
    EOT 0h30 0% 60%
  • Dispense contrôle continu

  • Nature Durée 1ère session 2ème session
    Projet 40% 40%
    DST 2h 60% 0%
    EOT 0h30 0% 60%
  • Objectifs

    • Acquérir les connaissances de base permettant d?appréhender l?utilisation du calcul haute performance pour la résolution de problèmes informatiques
    • Se familiariser avec les différents paradigmes algorithmiques et modèles de programmation associés au calcul parallèle
    • Développer une application permettant de résoudre un problème donné en utilisant une architecture de calcul haute performance
  • Compétences spécifiques visées

    • Résolution de problèmes par des méthodes parallèles efficaces
    • Développement d?applications parallèles avec MPI et OpenMP
    • Analyse de la performance d?un algorithme ou d?un programme parallèles
  • Compétences générales visées

    • Principaux paradigmes du parallélisme : architectures, algorithmes, programmation
    • Problématiques conceptuelles et technologiques associées au calcul haute performance
    • Algorithmique parallèle, conception, analyse de performance
    • Modèles et environnements de programmation parallèle
  • Connaissances requises

    • Algorithmique et structures de données élémentaires (tas, piles, files, listes, arbres, graphes)
    • Notions de base en programmation multi-threadée (verrous, synchronisations) 
    • Programmation C/C++ 
  • Programme

    • Architecture des ordinateurs parallèles :
      • machines à mémoire distribuée / à mémoire partagée, architectures hybrides
      • plateformes de calcul : clusters, processeurs multi-c?ur, accélérateurs matériels
      • réseaux d?interconnexion : arbre, étoile , anneau, grille, hypercube ; simulations d?une architecture sur une autre
    • Algorithmique parallèle : tâche-canal, modèle PRAM et DRAM
    • Algorithmique sur l?hypercube
    • Mesures de performance des algorithmes parallèles : accélération, efficacité, iso-efficacité
    • Environnements de programmation parallèle : MPI, OpenMP