| Groupe | Jour | Type |
|---|---|---|
| 01 | Mercredi 08:30 | Activité de cours |
| 01 | Vendredi 08:30 | Laboratoire (Groupe A) |
| Groupe | Jour | Type |
|---|---|---|
| 01 | Lundi 13:30 | Activité de cours |
| 01 | Jeudi 08:30 | Laboratoire |
Ce cours vise à concevoir des algorithmes parallèles et à analyser la performance de systèmes informatiques utilisant des architectures multiprocesseurs et multicœurs.
Au terme de ce cours, la personne étudiante sera en mesure de :
Éléments de contenu : architectures parallèles modernes : multi-cœurs, multiprocesseurs, grilles de calculs et multi-ordinateurs. Classification de Flynn des architectures parallèles : SIMD, MIMD, MISD et MIMD. Méthodologie de conception d'algorithmes parallèles : partitionnement, communication, agglomération et répartition. Modèles de programmation parallèle : modèle à mémoire partagée, modèle par passage de messages et modèle hybride. Techniques d'analyses quantitatives de programmes parallèles : métriques de performance (temps d'exécution, coût, efficacité, accélération, loi d'Amdahl) et analyse d'extensibilité. Communication interprocessus, problème d'exclusion mutuelle et outils de synchronisation (sémaphores, moniteurs, barrières). Précision sur les préalables :
LOG320 Structures de données et algorithmes (4 cr.) pour les programmes de baccalauréat en génie logiciel, baccalauréat en génie des technologies de l information et baccalauréat en informatique distribuée
ou
IND105 Architecture des microprocesseurs (3 cr.) pour le programme de baccalauréat en informatique distribuée.
| Groupe | Jour | Type |
|---|---|---|
| 01 | Mercredi 08:30 | Activité de cours |
| 01 | Vendredi 08:30 | Laboratoire (Groupe A) |
| Groupe | Jour | Type |
|---|---|---|
| 01 | Lundi 13:30 | Activité de cours |
| 01 | Jeudi 08:30 | Laboratoire |