Parallel Programming Workshop

Date: 14/Oct/2013 Time: 10:00 - 18/Oct/2013 Time: 18:00

Place: The course will take place in
Barcelona Supercomputing Centre,
within the UPC Campus Nord premises.

Room S208, Vertex Building (green on the map)

S indicates that the room is 2 floors below the entrance level.

Target group: Level: (All courses are designed for specialists with at least 1st cycle degree or similar background experience) INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems  

Cost: There is no registration fee. The attendees would need to cover the expenses for travel, accommodation and meals.

Primary tabs

Course Outline:

Day 1

Session 1 / 10:00 am – 1:00 pm

1. Introduction to parallel architectures, algorithms design and performance parameters

2. Introduction to the MPI programming model

3. Practical: How to compile and run MPI applications

Session 2 / 2:00pm – 5:00 pm

1. Introduction to Paraver: tool to analyze and understand performance

2. Practical: Trace generation and trace analysis

 

Day 2

Session 1 / 10:00 am - 1:00 pm

1. Tareador: understanding and predicting the potential of task decomposition strategies

2. MPI: Point-to-point communication, collective communication

3. Practical: Simple matrix computations

Session 2 / 2:00 pm - 5:00 pm

1. MPI: Blocking and non-blocking communications

2. MPI: Communicators, Topologies

3. Practical: Heat equation example

 

Day 3

Session 1 / 10:00 am - 1:00 pm

1. Dimemas: Scalability simulation for MPI applications

2. Practical: Scalability simulations using Dimemas

Session 2 / 2:00 pm - 5:00 pm

1. xSim: Online scalability simulations for MPI applications

2. Practical: Scalability simulations using xSim

3. Additional MPI features:  Error handling, parallel libraries, I/O and fault tolerance

 

Day 4

Session 1 / 10:00am – 1:00 pm

1. Shared-memory programming models, OpenMP fundamentals

2. Parallel regions and work sharing constructs

3. Synchronization mechanisms in OpenMP

4. Practical: heat diffusion in OpenMP

Session 2 / 2:00pm – 5:00 pm

1. Programming using a hybrid MPI/OpenMP approach

2. Practical: heat diffusion in hybrid MPI/OpenMP

 

Day 5

Session 1 / 10:00 am – 1:00 pm

1. Tasking in OpenMP 3.0 and 4.0

2. Introduction to the OmpSs programming model

3. Practical: heat equation example and divide-and-conquer

Session 2 / 2:00pm – 5:00 pm

1. Programming using a hybrid MPI/OmpSs approach

2. Practical: heat equation example and divide-and-conquer

END of COURSE