Course Outline
Introduction
Overview of Message Passing Interface (MPI) Features and Architecture
- Parallel computing basics
- The MPI process
Getting Started with MPICH
- Installation and configuration options
- Shared libraries
- Installing process managers
Programming Basics with MPI
- Writing, compiling, and linking programs
- Compilation commands
- Using Makefiles
Running Programs with MPI
- Standard mpiexec
- Process management extensions
- Remshell restrictions
Sending and Receiving Messages
- Message-passing routines
- Buffer and types (tags)
- Using library calls
- Broadcast and reduction
Coordinating Communications in MPI
- Synchronization
- Collective patterns, routines, and operations
- Creating groups
Working with Buffering Issues
- Blocking and non-blocking communication
- Fairness in message-passing
- Communication modes
Understanding Datatypes and Objects in MPI
- Basic datatypes
- Vectors and structures
- Interleaving data
- MPI objects and references
Writing Message-Passing Libraries
- Attributes
- Sequential sections
- Managing and caching tags
Evaluating the Performance of Parallel Programs
- The MPI timer
- Profiling interface
- Logging
Integrating Multiple Programs
- Sending and exchanging data between programs
- Using intercommunicators
Troubleshooting
Summary and Conclusion
Requirements
- Experience in programming languages such as C, C++, and Fortran
Audience
- Developers
- Programmers
Testimonials (4)
Practical examples.
Mateusz - Aplikacje Krytyczne
Course - BizTalk for Developers
interesting content
Mike Bassi - SRC Aus
Course - OpenCL
I like how helpful Clement is.
Mateera Kaikko - ASML US, LLC
Course - gRPC
I was very lucky to have one-to-one training and it gave me a good grounding in the subject as well as exploring some of my real use-cases that were really complex.