Compiling MPI for Many-Core Systems
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
Processors with multiple (or many) cores and shared memory are becoming ubiquitous across the com puting spectrum. MPI, the current de facto program ming model for scalable parallel applications, enforces copies between source and target processes and thus can not fully utilize shared memory and cache architectures of modern machines. To enable MPI-based programs to more fully exploit features of multi- and many-core architectures, we present a compiler-based transformation that transforms MPI processes into threads and fuses message serialization and deserialization loops such that send and receive calls can be replaced by direct memory accesses. Our compiler replaces most of the MPI communication functions with direct load/store accesses and our runtime provides a threaded MPI implementation to handle the remaining functions.
- Research Organization:
- Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 1088441
- Report Number(s):
- LLNL-TR--638557
- Country of Publication:
- United States
- Language:
- English
Similar Records
Fine-grained multithreading support for hybrid threaded MPI programming.
Final report: Compiled MPI. Cost-Effective Exascale Application Development
Gregarious Data Re-structuring in a Many Core Architecture
Journal Article
·
Sun Jan 31 23:00:00 EST 2010
· Int. J. High Perform. Comput. Appl.
·
OSTI ID:1015545
Final report: Compiled MPI. Cost-Effective Exascale Application Development
Technical Report
·
Sun Dec 20 23:00:00 EST 2015
·
OSTI ID:1232681
Gregarious Data Re-structuring in a Many Core Architecture
Conference
·
Mon Aug 24 00:00:00 EDT 2015
·
OSTI ID:1236328