[CANCELLED] Parallel Programming with Python @ BSC
The course will take place in Barcelona Supercomputing Center, within the UPC Campus Nord premises. Vertex Building VS208
Barcelona BSC Campus Nord
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.
Agenda:
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
END of COURSE