Introduction

Welcome page and syllabus
  • Also link at House symbol 🏠 at top of page

Learning outcomes

  • Load Python modules and site-installed Python packages

  • Create a virtual environment

  • Install Python packages with pip (Kebnekaise, Rackham, Snowy, Cosmos)

  • Write a batch script for running Python

  • Use the compute nodes interactively

  • Use Python in parallel

  • Use Python for ML

  • Use GPUs with Python

What is python?

As you probably already know…

  • “Python combines remarkable power with very clear syntax.

  • It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.

  • There are interfaces to many system calls and libraries, as well as to various windowing systems. …“

In particular, what sets Python apart from other languages is its fantastic open-source ecosystem for scientific computing and machine learning with libraries like NumPy, SciPy, scikit-learn and Pytorch.

Material for improving your programming skills

First level

The Carpentries teaches basic lab skills for research computing.

General introduction to Python by UPPMAX at https://www.uppmax.uu.se/support/courses-and-workshops/introductory-course-summer-2023/

Second level

Other course/workhops given by NAISS HPC centres:

CodeRefinery develops and maintains training material on software best practices for researchers that already write code. Their material addresses all academic disciplines and tries to be as programming language-independent as possible.

Aalto Scientific Computing

Third level

ENCCS (EuroCC National Competence Centre Sweden) is a national centre that supports industry, public administration and academia accessing and using European supercomputers. They give higher-level training of programming and specific software.

Documentations at other NAISS centres

See also

Objectives

We will:

  • teach you how to navigate the module system at HPC2N, UPPMAX, LUNARC, and NSC

  • show you how to find out which versions of Python and packages are installed

  • look at the package handler pip

  • explain how to create and use virtual environments

  • show you how to run batch jobs

  • show some examples with parallel computing and using GPUs

  • guide you in how to start Python tools for Machine Learning