Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Compiling MPI for Many-Core Systems

Technical Report ·
DOI:https://doi.org/10.2172/1088441· OSTI ID:1088441
 [1];  [1];  [1];  [1];  [1]
  1. 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.
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

Related Subjects