Learning How to program on HPC cluster (part I: Scientific software, compilers, C code))

Europe/Brussels
CYCL09B (Louvain-La-Neuve)

CYCL09B

Louvain-La-Neuve

Chemin du cyclotron 2, 1348 Louvain-La-Neuve
Description

In this session, we will cover the various tool and technique that will allow you to write more efficient code and how to optimize your code.

Contents:

  • Introduction to scientific software development and deployment
  • How to speed up you code at low cost? (Compilers and Library trick)
  • Introduction to procedural programming with C

Prerequisite:

  • Being able to use SSH with private keys 
  • Basic usage of GNU commands (cp, ls, cd,...)

Type: Lecture/Hands-on
Target audience: Rookie
Must: This session is a must-have for anyone.

Registration
Registration
1 / 50
    • 1
      Introduction to scientific software development and deployment

      Often, the workflow for researchers is to acquire a piece of software, and either modify it, or wrap it in scripts, or simply install it on the clusters, or all of that at the same time, on many clusters. This session will introduce to the tools that can make this whole process easier.

      Contents:

      • Programming paradigms
      • Types of languages and the choice of the language.
      • Tools for deploying software 
      • The programmer's toolkit 
      • Writing comments and elements of style

      Prerequisite:

      • Being familiar with a text editor 
      • Mastering the Linux command line and the GNU utilities (mkdir, cp, scp, etc.)

      Type: Lecture
      Target audience: Rookie programmers
      Must: This session is a nice-to-have.

      Speaker: Damien François (UCLouvain/CISM)
    • 2
      How to speed up your code at low cost?

      The choice of the compiler (many clusters have several, a.o. gcc, intel, etc.) is important, as is the choice of the compiling options. This sessions reviews the strengths and weaknesses of the compilers and their optimal use. 

      Contents:

      • The GCC Compiler and its options
      • Intel Compiler Studio
      • The different levels of code optimization
      • Using external libraries
      • Using configure and make
      • Downloading and compiling source code
      • Using linear algebra, signal processing libraries, etc.(BLAS, MKL, ACML, etc.)

      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 C or Fortran

      Type: Hands-on
      Target audience: Rookie programmers
      Must: This session is a must for anyone who needs to compile software from sources.

      Speaker: Bernard Van Renterghem (UCL CISM)
    • 3
      C programming

      Learn the basic of programmation with C language