Learning How to program on HPC cluster (part II: C, Fortran, debugging and profiling)
Thursday, 9 November 2023 -
09:30
Monday, 6 November 2023
Tuesday, 7 November 2023
Wednesday, 8 November 2023
Thursday, 9 November 2023
09:30
Introduction to programming with C language
-
Olivier Mattelaer
(
UCLouvain/CISM
)
Introduction to programming with C language
Olivier Mattelaer
(
UCLouvain/CISM
)
09:30 - 11:00
Room: SHANON (building Maxwell, first floor)
<p>C is a very performant language on which are build C++ but also Python (and many others). Even if this language is now mainly superseeded by C++, it is important to understand the basic of the language if you want to learn C++ and or Cuda programming (for GPU).</p> <table border="0" cellpadding="10px"> <tbody> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Basic of C programming</li> <li>pointer concept</li> <li>array</li> <li>memory management</li> </ul> <p> </p> </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> <p><strong>Prerequisite for:</strong></p> <ul> <li>CUDA programming</li> </ul> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Rookie programmer<br /> <strong>Must: </strong>This session is a nice-to-have for those who need to develop fast scientific software.</p> </td> </tr> </tbody> </table>
11:15
Debugging and profiling scientific code, and commercial optimized libraries
-
Bernard Van Renterghem
(
UCL CISM
)
Debugging and profiling scientific code, and commercial optimized libraries
Bernard Van Renterghem
(
UCL CISM
)
11:15 - 12:45
Room: SHANON (building Maxwell, first floor)
<table border="0" cellpadding="10px"> <tbody> <tr> <td colspan="2"> <p>When a piece of software does not work the way it is expected to, it needs debugging. Then, when it works, it needs profiling to remove the bottlenecks. This session will also present the standard optimized librairies that will allow you to code faster and more efficiently.</p> </td> </tr> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Debugging principles</li> <li>The GNU debugger (gdb)</li> <li>The Intel debugger</li> <li>Advanced features of Intel Cluster studio <ul> <li>the support of MIC architecture (Xeon Phi)</li> <li>the Guided Auto Parallelism</li> <li>the Coarray Fortran support</li> </ul> </li> <li>Intel MKL</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 either C, Fortran, Octave, Python or R</li> <li>Working knowledge of C or Fortran</li> <li>Familiarity with OpenMP and MPI</li> </ul> </td> </tr> <tr> <td> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Programmers<br /> <strong>Must: </strong>This session is important for programmers who want to optimize their code for usage on a cluster.</p> </td> </tr> </tbody> </table>
14:00
Introduction to structured programming with Fortran
-
Pierre-Yves Barriat
(
UCL/ELIC
)
Introduction to structured programming with Fortran
Pierre-Yves Barriat
(
UCL/ELIC
)
14:00 - 16:30
Room: SHANON (building Maxwell, first floor)
<table border="0" cellpadding="10px"> <tbody> <tr> <td colspan="2"> <p>Fortran is the historical language of scientific computing. Many often-used mathematical libraries used nowadays were writen initially in Fortran and have evolved with both the language and the hardware. </p> </td> </tr> <tr> <td rowspan="2"> <p><strong>Contents:</strong></p> <ul> <li>Historical perspective</li> <li>Syntax</li> <li>Printing and formatting</li> <li>Memory management</li> <li>Fortran I/O</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> <p><strong>Type:</strong> Hands-on<br /> <strong>Target audience</strong>: Rookie programmer<br /> <strong>Must: </strong>This session is a nice-to-have for those who need to develop fast scientific software.</p> </td> </tr> </tbody> </table>