PATC Course: Parallel Programming Workshop
Date: 26/Nov/2012 Time: 10:00 - 30/Nov/2012 Time: 13:00
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