MSE Master of Science in Engineering

The Swiss engineering master's degree


Chaque module vaut 3 ECTS. Vous sélectionnez 10 modules/30 ECTS parmi les catégories suivantes:

  • 12-15 crédits ECTS en Modules technico-scientifiques (TSM)
    Les modules TSM vous transmettent une compétence technique spécifique à votre orientation et complètent les modules de spécialisation décentralisés.
  • 9-12 crédits ECTS en Bases théoriques élargies (FTP)
    Les modules FTP traitent de bases théoriques telles que les mathématiques élevées, la physique, la théorie de l’information, la chimie, etc., vous permettant d’étendre votre profondeur scientifique abstraite et de contribuer à créer le lien important entre l’abstraction et l’application dans le domaine de l’innovation.
  • 6-9 crédits ECTS en Modules contextuels (CM)
    Les modules CM vous transmettent des compétences supplémentaires dans des domaines tels que la gestion des technologies, la gestion d’entreprise, la communication, la gestion de projets, le droit des brevets et des contrats, etc.

Le descriptif de module (download pdf) contient le détail des langues pour chaque module selon les catégories suivantes:

  • leçons
  • documentation
  • examen 
Calcul parallèle et distribué (TSM_ProgAlg)

L'objectif de ce module est de présenter un aperçu de l'informatique parallèle et distribuée ainsi que des algorithmes y afférant. La première partie du cours est consacrée aux architectures parallèles et distribuées, les différents modèles théoriques de ces structures et les différents modèles et outils pour programmer ces architectures. La deuxième partie sera dévolue à l'étude de certains algorithmes parallèles et distribués classiques. Ce cours comprend une partie pratique pour familiariser les étudiants à l'usage de l'informatique parallèle et distribuée. 

Compétences préalables

  • Programmation procédurale et orientée-objet
  • Ingénierie logicielle (UML ou autre)
  • Notions de base en algorithmique et complexité
  • Notions de base en programmation concurrente (processus)

Objectifs d'apprentissage

Au terme du cours, l'étudiant:

  • connaît les infrastructures matérielles parallèles et distribuée les plus courantes;
  • connaît les différentes méthodes de modélisation de ces architectures;
  • sait choisir entre algorithme parallèle ou distribué selon le cas pour écrire une application qui résout un problème spécifique sur une architecture donnée;
  • est capable de programmer efficacement cette application;
  • sait comment évaluer la performance de cette application.

Catégorie de module

Introduction

  • architectures parallèles et distribuées
  • modèles et coûts de communication
  • métriques et indicateurs de performance
  • scalabilité de systèmes parallèles et distribués

Systèmes parallèles hétérogènes

  • architecture des infrastructures multicore
  • modèles et outils de programmation ( OpenMP)

Systèmes distribués

  • opérations de communication et coûts
  • transmission de message (MPI)
  • programmation objet distribués

Algorithmes parallèles

  • analyse asymptotique des coûts des algorithmes parallèles et distribués
  • techniques de décomposition
  • techniques de dispatching et répartition de charge
  • produit matrice-vecteur et matrice-matrice
  • algorithmes de tri parallèle et distribué
  • algorithmes pour les graphes

Méthodes d'enseignement et d'apprentissage

Ce cours contient des présentations théoriques ainsi que des exercices pratiques ou laboratoires. Une partie des exercices sont des exercices de programmation qui peuvent être réalisés à la maison en accédant à une infrastructure parallèle et distribuée rendue accessible via internet. 

Bibliographie

A. Introduction to Parallel Computing, Zbigniew J. Czech, Cambridge University Press, 2017
B. An Introduction to Parallel Programming, 1st edition, Peter Pacheco , Morgan Kaufmann Publishers Inc, 2011

Télécharger le descriptif complet

Retour