Course Outline
Introduction
Overview of Message Passing Interface (MPI) Features and Architecture
- Fundamentals of parallel computing
- The MPI process for government applications
Getting Started with MPICH
- Installation and configuration options for government systems
- Shared libraries for enhanced performance
- Installing process managers to support efficient execution
Programming Basics with MPI
- Writing, compiling, and linking programs in a government environment
- Compilation commands for streamlined development
- Using Makefiles to manage complex builds
Running Programs with MPI
- Standard mpiexec for consistent execution
- Process management extensions to enhance control
- Remshell restrictions and their implications for government operations
Sending and Receiving Messages
- Message-passing routines for reliable communication
- Buffer and types (tags) for data integrity
- Using library calls to facilitate message exchange
- Broadcast and reduction operations for efficient data handling
Coordinating Communications in MPI
- Synchronization techniques for coordinated execution
- Collective patterns, routines, and operations for optimized performance
- Creating groups to manage communication domains
Working with Buffering Issues
- Blocking and non-blocking communication strategies
- Fairness in message-passing to ensure equitable resource utilization
- Communication modes for tailored interaction
Understanding Datatypes and Objects in MPI
- Basic datatypes for foundational data handling
- Vectors and structures for complex data management
- Interleaving data to optimize performance
- MPI objects and references for robust programming
Writing Message-Passing Libraries
- Attributes to enhance library functionality
- Sequential sections for controlled execution
- Managing and caching tags for efficient message handling
Evaluating the Performance of Parallel Programs
- The MPI timer for precise performance measurement
- Profiling interface to analyze program behavior
- Logging mechanisms to track execution details
Integrating Multiple Programs
- Sending and exchanging data between programs for seamless integration
- Using intercommunicators to facilitate cross-program communication
Troubleshooting
Summary and Conclusion
Requirements
- Proficiency in programming languages such as C, C++, and Fortran
Audience
- Software Developers for government
- 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.