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

Testimonials (4)

Upcoming Courses