PATC: Parallel Programming Workshop

Date: 23/Oct/2017 Time: 10:00 - 27/Oct/2017 Time: 17:00

Place:

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

Building C6, room 106 and 101

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; 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

 

Day 1 (Monday)

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

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 (2h lectures, 1h practical)

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

2. Practical: Simple matrix computations

3. MPI: Blocking and non-blocking communications


 

Day 2 (Tuesday)

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

1. MPI: Collectives, Communicators, Topologies

2. Practical: Heat equation example

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

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

2. Practical: Trace generation and trace analysis


 

Day 3 (Wednesday)

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

1. Parallel debugging in MareNostrumIII, options from print to Totalview

2. Practical: GDB and IDB

3. Practical: Totalview

4. Practical: Valgrind for memory leaks

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

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


 

Day 4 (Thursday)

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

1. Tasking in OpenMP 3.0/4.0/4.5

2. Programming using a hybrid MPI/OpenMP approach

3. Practical: multisort in OpenMP and hybrid MPI/OpenMP

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

1. Parallware: guided parallelization

2. Practical session with Parallware examples


 

Day 5 (Friday)

Session 1 / 10:00 am – 1:00 pm (2 hour lectures, 1 h practical)

1. Introduction to the OmpSs programming model

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

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

1. Programming using a hybrid MPI/OmpSs approach

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

 

END of COURSE