Objectives
The course starts with the objective of setting up the basic foundations related with task decomposition and parallelization inhibitors, using a tool to analyze potential parallelism and dependences. The course follows with the objective of understanding the fundamental concepts supporting shared-memory and message-passing programming models. The course is taught using formal lectures and practical/programming sessions to reinforce the key concepts and set up the compilation/execution environment. The course covers the two widely used programming models: OpenMP for the shared-memory architectures and MPI for the distributed-memory counterparts. The use of OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of current compute nodes in clustered architectures is also considered. Paraver will be used along the course as the tool to understand the behavior and performance of parallelized codes.
Requirements
Prerequisites: Fortran, C or C++ programming. All examples in the course will be done in C.
Materials
INTELLECTUAL PROPERTY RIGHTS NOTICE:
• The User may only download, make and retain a copy of the materials for his/her use for non‐commercial and research purposes.
• The User may not commercially use the material, unless has been granted prior written consent by the Licensor to
do so; and cannot remove, obscure or modify copyright notices, text acknowledging or other means of identification or disclaimers as they appear.
• For further details, please contact BSC‐CNS patc@bsc.es
Day 1
Session 1 Lecture 1 Lecture 2 Lecture 3 Practical 1
Session 2 Lecture 4
Day 2
Session 1 Lecture 5 Practical 2
Session 2 Lecture 6 Practical 3
Day 3
Session 2 Lecture 8 Practical 4