6-8 July 2020
Barcelona BSC Campus Nord
CET timezone

Please, bring your own laptop. All the PATC courses at BSC are free of charge.

Course Convener: Xavier Martorell, CS/Programming Models

Course Lecturers: Rosa M. Badia, CS/Workflows and Distributed Computing, Bryan Jiménez (University of Utrecht), Joan Verdaguer-Codina (COEIC)

LOCATION: UPC Campus Nord premises.Vertex Building, Room VS208

Level:  BASIC: for students with little previous experience with Python

Prerequisites: Basic Python programming, all examples of the course will be presented in Python.

Objectives: The objectives of this course are to understand the basic concepts on programming with Python and its support for parallelism.

Learning Outcomes: The students who finish this course will be able to develop simple parallel benchmarks with Python, and analyze their execution and tune their behaviour in parallel architectures.


Day 1 (Monday, July 6th, 2020)

Session 1 / 9:30 am – 1:00 pm (2 h lectures, 1 h practical)

1. Introduction to parallel programming and Python

11:00  Coffee break

2. Practical: How to compile and run python applications


Session 2 / 2:00pm – 5:30 pm (2h lectures, 1h practical)

1. Scientific Python: NumPy, SciPy, MatplotLib, Bokeh

16:00 Coffee break

2. Practical: Simple python programs and optimizations


 Day 2 (Tuesday, July 7th, 2020)

Session 1 / 9:30 am - 1:00 pm (1.5 h lectures, 1.5 h practical)

1. Parallelism in Python. Shared memory

2. Introduction to performance analysis. Paraver: tool to analyze and understand performance

3. Python pools

11:00 Coffee break

3. Practical: Examples of python parallelism


Session 2 / 2:00 pm - 5:30 pm (1.5 h lectures, 1.5 h practical)

1. Distributed memory

                 Visualizing distributed environments with Paraver

2. Python queues

16:00 Coffee break

3. Practical: Trace generation and trace analysis

4. Practical: environment on RPi


Day 3 (Wednesday, July 8th, 2020)

Session 1 / 9:30 am - 1:00 pm (1 h lecture, 2h practical)

1. Introduction to PyCOMPSs

2. PyCOMPSs syntax

11:00 Coffee break

3.PyCOMPSs hands-on


Session 2 / 2:00 pm - 5:30 pm (2 h lectures, 1 h practical)

1. PyCUDA and support for accelerators

2. Debugging

16:00 Coffee break

3. Hands-on with PyCUDA



Barcelona BSC Campus Nord
The course will take place in Barcelona Supercomputing Center, within the UPC Campus Nord premises. Vertex Building VS208

For further details and practical info such as local transport and venue please visit the local course pages for PATC@BSC: http://www.bsc.es/patc