Infocube

Announcement

BremHLR Workshop on "Parallel programming with MPI and OpenMP"

Dates

  • January 22 - 26, 2018

Location

  • Jacobs University Bremen, Lecture Hall Research I

Content

  • This workshop gives an introduction to parallel programming. The main focus is on the parallel programming models MPI and OpenMP. Exercises will be an essential part of the workshop.

Lecturers

  • The workshop is given by Dr. Hinnerk Stüben (Regionales Rechenzentrum der Universität Hamburg) and Dr. Lars Nerger (BremHLR and Alfred Wegener Institute Bremerhaven).

Participation

  • This workshops are open to all interested students or members of the Alfred Wegener Institute for Polar and Marine Research, University Bremen, the Jacobs University Bremen, Hochschule Bremerhaven, as well as associated institutions. In addtion, we accept this year registrations from HLRN users that are not affiliated in Bremen.

Prerequisites:

  • Solid fundamentals in Unix, C and/or Fortran will be essential!

Registration

  • For registration please send an e-mail to bremhlr@uni-bremen.de
  • Deadline: January 5, 2018
  • No registration fee!

Tentative Schedule:

  • Monday, 10:00 - 17:00
    • Overview
    • Introduction and Review
      • - Using the Unix shell
      • - Programming in C and Fortran
    • Thinking Parallel (I)
      • - Introduction to parallel computing
      • - Computer architectures
      • - Parallel programming concepts
    • MPI (I)
      • - Structure of MPI programs
    • Programming (I) - A parallel "Hello World" program
    • The Laplace equation - A realistic application example
  • Tuesday, 9:00 - 17:00
    • MPI (II)
      • - synchronous point-to-point communication
    • Programming (II) - "ping-pong" - using point-to-point communication
    • MPI (III)
      • - Non-blocking point-to-point communication
      • - Collective communication and reduction operations
    • Programming (III) - Communicate around a ring
  • Wednesday, 9:00 - 17:00
    • MPI (IV)
      • - Derived data types
      • - Virtual topologies
    • Programming (IV) - Advanced ring communication
    • MPI (V) - Laplace example with MPI
    • Programming project (I) - MPI part
    • Thinking Parallel (II) - Performance considerations
  • Thursday, 9:00 - 17:00
    • Thinking Parallel (III)
      • - Chacterization of parallelism
      • - Data dependence analysis
    • OpenMP (I)
      • - Concepts
      • - Parallelizing loops
      Programming (V) - OpenMP
    • OpenMP (II) - Laplace example with OpenMP
    • Programming project (II) - OpenMP part
    • OpenMP (III)
      • - Synchronization
      • - Loop scheduling
      • - False sharing
    • Programming (VI) - OpenMP
    • MPI (VI) - parallel programming bugs
  • Friday, 9:00 - 16:00
    • MPI (VII) - Parallel I/O with MPI-IO
    • Hybrid parallelization - joint use of MPI and OpenMP
    • Programming (VIII) - Hybrid "hello world" program
    • MPI (VIII) - single-sided communication

© BremHLR 2019