Parallel Programming Workshop

Course provider: BSC
Date:
23 October 2017 to 27 October 2017
Registration deadline:
16 Oct 2017
Place: Barcelona (
Spain
)
Course level: Graduate
Keywords: parallel programming, shared memory programming, Message-Passing programming, MPI, OpenMP, OmpSs, performance analysis, debuggers

Course description:

The objectives of this course are to understand the fundamental concepts supporting message-passing and shared memory programming models. The course covers the two widely used programming models: MPI for the distributed-memory environments, and OpenMP for the shared-memory architectures. It also presents the main tools developed at BSC to get information and analyze the execution of parallel applications, Paraver and Extrae. Moreover it sets the basic foundations related with task decomposition and parallelization inhibitors, using a tool to analyze potential parallelism and dependences, Tareador.

Additionally, it presents the Parallware compiler, which is able to automatically parallelize a large number of program structures, and provide hints to the programmer with respect to how to change the code to improve parallelization. It deals with debugging alternatives, including the use of GDB and Totalview. 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.

The course is taught using formal lectures and practical/programming sessions to reinforce the key concepts and set up the compilation/execution environment.

Prerequisites: Fortran, C or C++ programming. All examples in the course will be done in C.

Attendees can bring their own applications and work with them during the course for parallelization and analysis.

Application procedure: