Python in High-Performance Computing @ CSC
Date: 16 - 18 April 2013
Python is a modern, object-oriented programming language, which has become popular in several areas of software development. This course introduces the basic concepts of the Python programming language and how it can be used effectively in high-performance computing. Fast array interface (numpy), message-passing interface (mpi4py), and several other useful Python packages such as scipy and matplotlib are introduced. C extension, i.e how to integrate code written in C directly as a part of a Python program, are also shown. Examples include prototyping and solving numerical problems with Python, steering simulations with Python scripts and analyzing results with the help of Python. Course consists of lectures and hands-on exercises.Learning outcome
After the course the participants should be able to write scripts and small programs with Python and able to utilize some of the key Python packages for scientific computing (numpy, mpi4py, scipy, matplotlib)Prerequisites
Participants are expected to have some experience in computer programming and to be familiar with the basic concepts (e.g. variables, statements, control structures, subroutines) but previous knowledge of Python is not required. Previous experience in high-performance computing (batch systems, MPI, etc.) may be useful.PROGRAMDay 1, Tuesday April 16
Introduction to Python
Data types and expressions
Control structures
Functions and modules
File I/O
Text processing
Day 2, Wednesday April 17
Object oriented programming with Python
NumPy - fast array interface to Python
Day 3, Thursday April 18
C extensions for integrating efficient C routines in Python
mpi4py - message-passing interface for Python
Scipy-package for scientific computinig
Matplotlib-package for visualization
DocumentationPythonnumpyscipympi4pymatplotlibLecturers: Jussi Enkovaara (Aalto University), Martti Louhivuori (CSC)Price: Free of charge
Event types:
- Workshops and courses
Activity log