Learning How to program on HPC cluster (part IV: Tools)

Europe/Brussels
MERCATOR B336 (Louvain-La-Neuve)

MERCATOR B336

Louvain-La-Neuve

Place Louis Pasteur 1346 Louvain-La-Neuve
Description

In this session, we will teach you how to optimise your code, how to maintain it and how to share it with others.

Contents:

  • Introduction to code versioning (git)
  • Debugging and profiling scientific code
  • commercial optimized libraries

Prerequisite:

  • Being able to use SSH with private keys 
  • Being familiar with a text editor 
  • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)
  • Passive knowledge of either C, Fortran, Octave, Python or R

Type: Hands-on
Target audience: Programmers
Must: This session is important for programmers who want to optimize/maintain their code.

Registration
Registration
29 / 50
    • 1
      Introduction to code versioning

      Code versioning is very important to master, even for non programmers. It allows tracking the changes made to a submission script, a piece of code, a configuration file, or event a dataset and propagate the changes in a consistent and systematic way to all clusters.

      Contents:

      • Notions of code versioning
      • Working as a team with code versioning
      • Using git to access code from others
      • Publishing code

      Prerequisite:

      • Being able to use SSH with private keys 
      • Being familiar with a text editor 
      • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)

      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a must-have for anyone not familiar with code versioning or git.

      Speaker: Olivier Mattelaer (UCLouvain/CISM)
    • 2
      Debugging and profiling scientific code, and commercial optimized libraries

      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.

      Contents:

      • Debugging principles
      • The GNU debugger (gdb)
      • The Intel debugger
      • Advanced features of Intel Cluster studio
        • the support of MIC architecture (Xeon Phi)
        • the Guided Auto Parallelism
        • the Coarray Fortran support
      • Intel MKL

      Prerequisite:

      • Being able to use SSH with private keys 
      • Being familiar with a text editor 
      • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)
      • Passive knowledge of either C, Fortran, Octave, Python or R
      • Working knowledge of C or Fortran
      • Familiarity with OpenMP and MPI

      Type: Hands-on
      Target audience: Programmers
      Must: This session is important for programmers who want to optimize their code for usage on a cluster.

      Speaker: Bernard Van Renterghem (UCL CISM)