DOE OSTI · 1088441
Compiling MPI for Many-Core Systems
Abstract
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Bronevetsky, G., Friedley, A., Hoefler, T., Lumsdaine, A., Quinlan, D.. 2013-06-03. Compiling MPI for Many-Core Systems. https://doi.org/10.2172/1088441
Cite the original work for its findings. Save a collection to share your selection of sources.