CSC's trainings and events have moved

Find our upcoming trainings and events at www.csc.fi.

This site is an archive version and is no longer updated.
 

Go to CSC Customer trainings and Events

null Python in High-Performance Computing
Python in High-Performance Computing
Date: 15.04.2014 9:00 - 17.04.2014 16:30
Location details: -
Language: english-language
lecturers: Jussi Enkovaara
CSC
Martti Louhivuori
CSC
Price: -

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 extensions, 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.

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).

Pre-requisites

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.

Program

Day 1

- Introduction to Python
- Data types and expressions
- Control structures
- Functions and modules
- File I/O
- Text processing

Day 2

- Object oriented programming with Python
- NumPy - fast array interface to Python

Day 3 

- C extensions for integrating efficient C routines in Python
- mpi4py - message-passing interface for Python
- Scipy-package for scientific computinig
- Matplotlib-package for visualization

Course materials