The student will be provided with the skills of parallel computing. He/She will learn the major parallel architectures and parallel programming paradigms, environments and tools. He/She will be also introduced to parallel shared memory programming using OpenMP.
Program
Overview of parallel distributed machines (shared-memory machines, distributed-memory machines, coprocessors and GPU accelerators).
Parallel algorithm design and programming
Paradigms of parallel programming (task parallelism, data parallelism, shared memory paradigm, message passing paradigm).
Parallel programming environments and tools (OpenMP, MPI, Cuda).
Some fundamental problems of parallel programming (task / data partitioning, load balancing, scheduling, performance evaluation).
- Parallel shared-memory programming using OpenMP
Acquired skills
The student will learn how to design and implement
parallel computing applications using OpenMP.
- Enseignant: Nouredine Melab