Learning How to program on HPC cluster (part III: Python)

Europe/Brussels
CYCLOTRON E349 (Louvain-La-Neuve)

CYCLOTRON E349

Louvain-La-Neuve

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

Python is a scripting language used in many scientific software. IN this session, we will cover python from the basic of the language up to the advanced usage on HPC, going trough a lecture on how to write good object oriented code with Python.

Contents:

  • Introduction to Python
  • Python as an Object Oriented Language
  • Printing and formatting
  • 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
35 / 50
    • 1
      Introduction to Python

      Python is a programming language that can be used both for scientific computing (as a replacement for Fortran or C/C++) and for everyday scripting (as a replacement for Bash or Perl), but also to develop full programs with a GUI as well as headless services. It is a very nice tool to include in any scientist's toolbox.

      Contents:

      • Language syntax
      • The core modules
      • Installing external modules
      • Writing and distributing modules

      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.)
      • Notions of programming

      Type: Hands-on
      Target audience: Rookie programmer
      Must: This session is a nice-to-have for those who do not know Python.

       

      Speaker: Jérôme de Favereau (UCLouvain/IRMP/CP3)
    • 2
      Python as an Object Oriented Language

      The point of this lecture is to explain the concept of object oriented programming and using python to present the various concept and advantages.

      Contents:

      • Data structure
      • Class
      • Object/Instance
      • Inheritance

      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

    • 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
      • Matplotlib
      • MPI python
      • 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 thinks Python is slow.

      Speaker: Ariel Lozano (ULB)