• Skip navigation
  • Skip to navigation
  • Skip to the bottom
Simulate organization breadcrumb open Simulate organization breadcrumb close
NHR@FAU
  • FAUTo the central FAU website
Suche öffnen
  • RRZE
  • NHR-Verein e.V.
  • Gauß-Allianz

NHR@FAU

Navigation Navigation close
  • News
  • About us
    • People
    • Funding
    • BayernKI
    • NHR Compute Time Projects
    • Tier3 User Project Reports
    • Support Success Stories
    • Annual Reports
    • NHR@FAU Newsletters
    • Previous Events
    • Jobs
    Portal About us
  • Research
    • Research Focus
    • Publications, Posters & Talks
    • Performance Tools and Libraries
    • NHR PerfLab Seminar
    • Projects
    • Workshops
    • Awards
    Portal Research
  • Teaching & Training
    • Lectures & Seminars
    • Tutorials & Courses
    • Monthly HPC Café and Beginner’s Introduction
    • Theses
    • Student Cluster Competition
    Portal Teaching & Training
  • Systems & Services
    • Systems, Documentation & Instructions
    • Support & Contact
    • HPC User Training
    • User Projects
    Portal Systems & Services
  • FAQ

NHR@FAU

  1. Home
  2. Teaching & Training
  3. Tutorials & Courses
  4. Introduction to Parallel Programming with MPI

Introduction to Parallel Programming with MPI

In page navigation: Teaching & Training
  • Lectures & Seminars
  • Tutorials & Courses
    • Accelerating CUDA C++ Applications with Multiple GPUs
    • C++ for Beginners
    • Choosing GPU Programming Approaches
    • Core-Level Performance Engineering
    • FAQ about NHR@FAU Trainings
    • From Zero to Multi-Node GPU Programming
    • Fundamentals of Accelerated Computing with CUDA C/C++
    • Fundamentals of Accelerated Computing with CUDA Python
    • Fundamentals of Accelerated Computing with Modern CUDA C++
    • Fundamentals of Accelerated Computing with OpenACC
    • Fundamentals of Deep Learning
    • GPU Performance Engineering
    • Hybrid Programming in HPC - MPI+X
    • Introduction to Git
    • Introduction to OpenMP
    • Introduction to Parallel Programming with MPI
    • Introduction to the LIKWID Tool Suite
    • Modern C++ Software Design
    • Node-Level Performance Engineering
    • Parallel Programming of High-Performance Systems (PPHPS)
    • Performance Engineering for Linear Solvers
    • Scaling CUDA C++ Applications to Multiple Nodes
    • Scaling CUDA-Accelerated Applications
  • Monthly HPC Café and Beginner's Introduction
  • Theses
  • Student Cluster Competition

Introduction to Parallel Programming with MPI

Course Description

This course gives an introduction to the Message Passing Interface (MPI), the dominating distributed-memory programming paradigm in High Performance Computing. The following topics are covered:

  • Basic principles of distributed-memory computer architecture and the Message Passing Interface (MPI)
  • Blocking and non-blocking point-to-point communication
  • Blocking and non-blocking collective communication
  • Derived data types
  • Sub-communicators, inter-communicators
  • Performance issues

Lectures are accompanied by hands-on exercises.

Learning Objectives

At the conclusion of the course, you will be able to:

  • understand the principles of HPC cluster architecture and distributed-memory parallel programming on clusters,
  • employ the fundamental communication primitives of MPI,
  • use derived data types in order to simplify complex communication requirements,
  • employ communicators and sub-communicators,
  • understand the most common performance issues with MPI programming and parallel programming in general,
  • employ a tracing tool for simple MPI program analysis.

Course Structure

Certification

A digital certificate of attendance will be awarded to all participants who attended the majority of the course.

Prerequisites

Participants should meet the following requirements:

  • Familiarity with one of the standard HPC programming languages (C, C++, or Fortran)
  • Ability to handle the Linux command line via a remote connection (editing, compiling)

Upcoming Iterations and Additional Courses

You can find dates and registration links for this and other upcoming NHR@FAU courses at https://go-nhr.de/trainings .

Erlangen National High Performance Computing Center (NHR@FAU)
Martensstraße 1
91058 Erlangen
Germany
  • Imprint
  • Privacy
  • Accessibility
  • How to find us
  • RSS Feed
Up