PATC Course: Parallel Programming Workshop

Date: 26/Nov/2012 Time: 10:00 - 30/Nov/2012 Time: 13:00

Place:

The course will take place in
Barcelona Supercomputing Centre,
within the UPC Campus Nord premises, Vertex Building, room VS215. (Green on the map)

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 algorithms design and performance parameters (1 hour)

2. SsGrind: tool to analyze potential parallelism and its inhibitors (2hours)

3. Practical: simple heat diffusion application

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

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

2. Practical: hybrid MPI/OpenMP trace analysis

 

Day 2

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

1. Introduction to MPI: Overview of MPI

2. Point-to-point communication, collective communication

3. Practical: How to compile and run MPI applications, distributed matrix computations (matrix multiply or/and heat equation)

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

1. Blocking and non-blocking communications

2. Communicators, Topologies

3. Practical: Distributed matrix computations (same examples as in session 1)

Day 3

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

1. MPI I/O issues, Error handling, Parallel libraries

2. Scalability, xSim and Dimemas simulator

3. Practical: Scalability simulations using xSim and Dimemas

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

1. Practical: Scalability simulations using xSim and Dimemas (cont.)

2. Outlook - Fault tolerance, FT-MPI, MPI 3.0

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

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

1. Tasking in OpenMP

2. Programming using a hybrid MPI/OpenMP approach

3. Practical: heat diffusion

Day 5

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

1. Introduction to the OmpSs programming model

2. Programming using a hybrid MPI/OmpSs approach

3. Practical: TBD

END of COURSE