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 with programming languages such as C, C++, and Fortran.
Audience
- Developers.
- Programmers.
Testimonials (3)
The speed and focus on the target system, I could maintain focus well
Kevin - Phoenix Contact B.V.
Course - gRPC
Practical examples.
Mateusz - Aplikacje Krytyczne
Course - BizTalk for Developers
Theory and excises not separated but after every bigger Topic there were exercises to remember theory in practice