Speaker
Damien François
(UCLouvain/CISM)
Description
Parallel computing is at the heart of modern HPC systems. Before learning programming models such as MPI or OpenMP, it is important to understand the fundamental concepts behind parallel execution and the tools that can be used to exploit parallelism even when applications themselves are not designed for it. This session introduces the theoretical foundations of parallel computing and presents practical Linux tools for running workloads concurrently.
| Contents | Information |
|---|---|
| • Theoretical concepts: parallelism, concurrency, speedup, scaling, efficiency, and overhead • Amdahl's and Gustafson's laws • Common parallel computing paradigms (SPMD, MPMD, Map/Reduce, master-worker, etc.) • GNU tools for parallel computing ( xargs and GNU Parallel)• Parallel execution of independent tasks • Parallel computing with pipelines, UNIX pipes, and FIFO files • Choosing the appropriate parallelization strategy for a workload • Preparing for MPI and OpenMP programming |
Prerequisite: • Being able to use SSH with private keys • Being familiar with a text editor • Mastering the Linux command line and GNU utilities (mkdir, cp, scp, etc.) Type: Hands-on **Target audience |