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
 7 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories