Learning How to program on HPC cluster (part IV: advanced python/debugging/parallel)

Europe/Brussels
CYCL09b (Louvain-La-Neuve)

CYCL09b

Louvain-La-Neuve

Chemin du cyclotron 1 1348 louvain la neuve
Description
This day covers several aspects of programming on the clusters.

Contents:

  • Introduction to parallel computing
  • Debugging and profiling
  • Efficient use of Python on the clusters

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 nice-to-have for those who are using Python for science

Registration
Registration
40 / 50
    • 1
      Introduction to parallel computing

      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. 

      Contents:

      • Theoretical concepts: parallelism, speedup, scaling, overhead, etc.
      • Common parallel computing paradigms (SPMD, Map/Reduce, etc.)
      • GNU tools for parallel computing (xargs and GNU parallel)
      • Parallel computing with pipelines (UNIX pipes and FIFO files)

      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: Everyone
      Must: This session is a nice-to-have.

      Speaker: Damien François (UCLouvain/CISM)
    • 2
      Debugging and profiling
      Speaker: Bernard Van Renterghem (UCL CISM)
    • 3
      Efficient use of Python on the clusters

      The use of Python for scientific computing is rising thanks to modules such as numpy, scipy and mathplotlib. This session explores the efficient uses of Python in that context for situations where numpy and co. are of less use. It assumes a working knowledge of Python. 

      Contents:

      • Installing libraries
      • Numpy
      • Scipy
      • Multithreading
      • Compiling

      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.)
      • Working knowledge of Python

      Type: Hands-on
      Target audience: Confirmed Python user
      Must: This session is a must-have for anyone who thinks Python is slow.

      Speakers: Nicolas Potvin (ULB), Ariel Lozano (ULB)