The growth in the number of generally available, distributed, heterogeneous computing systems places increasing importance on the development of user-friendly tools that enable application developers to efficiently use these resources. Open MPI provides support for several aspects of heterogeneity within a single, open-source MPI implen. Through careful abstractions, heterogeneous support maintains efficient use of uniform computational platforms. We describe Open MPI’s architecture for heterogeneous network and processor support. A key design features of this implementation is the transparency to the application developer while maintaining very high levels of performance. This is demonstrated with the results of several numerical experiments.
Richard L. Graham, Galen M. Shipman, Brian Barrett