Going Parallel (part I: linux tools, advanced Slurm, MPI programming)
Tuesday, 21 November 2023 -
09:30
Monday, 20 November 2023
Tuesday, 21 November 2023
09:30
Introduction to parallel computing
-
Damien François
(
UCLouvain/CISM
)
Introduction to parallel computing
Damien François
(
UCLouvain/CISM
)
09:30 - 11:00
Room: Shanon (building Maxwell, first floor)
<table border="0" cellpadding="10px"> <tbody> <tr> <td colspan="2"> <p>Before diving into the concrete programming examples with MPI and OpenMP, this session introduces some theoretical concepts and presents the several paradigms and tools offered by Linux for parallel computing when a program itself is not able to run in parallel. </p> </td> </tr> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Theoretical concepts: parallelism, speedup, scaling, overhead, etc.</li> <li>Common parallel computing paradigms (SPMD, Map/Reduce, etc.)</li> <li>GNU tools for parallel computing (xargs and GNU parallel)</li> <li>Parallel computing with pipelines (UNIX pipes and FIFO files)</li> </ul> </td> <td> <p><strong>Prerequisite:</strong></p> <ul> <li>Being able to use SSH with private keys </li> <li>Being familiar with a text editor </li> <li>Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)</li> </ul> </td> </tr> <tr> <td> <p><strong>Type</strong>: Hands-on<br /> <strong>Target audience</strong>: Everyone<br /> <strong>Must: </strong>This session is a nice-to-have.</p> </td> </tr> </tbody> </table>
11:15
Advanced SLURM job submission
-
Damien François
(
UCLouvain/CISM
)
Advanced SLURM job submission
Damien François
(
UCLouvain/CISM
)
11:15 - 12:45
Room: Shanon (building Maxwell, first floor)
<p>This session follows the first Slurm session and teaches participants how to enhance submission scripts using concepts learned in the Workflows, Parallel computing, Bash scripting, and MPI sessions.</p> <p> </p> <table border="0" cellpadding="10px"> <tbody> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Scripting submissions </li> <li>Arrays and Job packing </li> <li>Heterogeneous jobs </li> <li>Process placement </li> </ul> </td> <td> <p><strong>Prerequisite:</strong></p> <ul> <li>Being able to use SSH with private keys </li> <li>Being familiar with a text editor </li> <li>Mastering the Linux command line and Bash scripting </li> <li>Working knowledge of Slurm </li> </ul> </td> </tr> <tr> <td> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Everyone<br /> <strong>Must: </strong>This session is useful.</p> </td> </tr> </tbody> </table>
14:00
Parallel programming with MPI (1)
-
Orian Louant
(
Université de Liège
)
Parallel programming with MPI (1)
Orian Louant
(
Université de Liège
)
14:00 - 16:00
Room: Shanon (building Maxwell, first floor)
<table border="0" cellpadding="10px"> <tbody> <tr> <td colspan="2"> <p>MPI is a standard for passing messages between processes running on distinct computers. It offers high-level primitives for efficient communication. </p> </td> </tr> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Parallel programming paradigms</li> <li>Shared-memory vs message passing</li> <li>Compiling an MPI program</li> <li>Collective communication</li> <li>Reduction operations</li> <li>Communication modes</li> </ul> </td> <td> <p><strong>Prerequisite:</strong></p> <ul> <li>Being able to use SSH with private keys </li> <li>Being familiar with a text editor </li> <li>Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)</li> <li>Passive knowledge of C or Fortran</li> </ul> </td> </tr> <tr> <td> <p><strong>Type</strong>: Hands-on<br /> <strong>Target audience</strong>: Rookie programmer<br /> <strong>Must: </strong>This session is a must-have for anyone writing or even simply using MPI programs</p> </td> </tr> </tbody> </table>