Dumas, Joseph; Ward, Michael
College of Engineering and Computer Science
University of Tennessee at Chattanooga
Place of Publication
Kokkos provides in-memory advanced data structures, concurrency, and algorithm to support advanced C++ parallel programming. MPI provides the most widely used message passing model for inter-node communication. Many programmers use both Kokkos and the Message Passing Interface (MPI) together. In this thesis, Kokkos is integrated within an MPI implementation to obtain performance and functionality benefits both for the MPI itself, and for applications that use both Kokkos+MPI. For instance, it will be possible in this model to pass first-class Kokkos objects directly to extended C++-based MPI APIs. In particular, efforts to achieve this type of integrated model is expressed using ExaMPI, a C++17-based subset implementation of MPI-4 developed at UTC with collaborators. Working with C++-friendly APIs, and Kokkos extensions, examples of the benefits of functionality and performance are shown. We explain why direct use of Kokkos within the certain parts of the MPI implementation are crucial to getting added performance in addition to expressivity. We also motivate why making Kokkos memory spaces visible to the MPI implementation generalizes the idea of “CPU memory” and “GPU memory” in ways that provide for further optimizations in heterogeneous Exascale architectures. Besides showing the current state of the prototype, we describe future goals, and show how these mesh both with a possible future C++ API for MPI-5 as well as the potential for accelerating MPI on architectures that incorporate accelerators.
Thanks to Riley Shipley and Derek Schafer for reviewing this thesis, along with the ExaMPI team and the Kokkos team for technical support. Additional thanks to the thesis committee, Dr. Anthony Skjellum, Dr. Joseph Dumas II, and Dr. Michael Ward. Funding provided with NSF Grants: #1821431, 1822191, 1918987, 1925603, 2201497.
M. S.; A thesis submitted to the faculty of the University of Tennessee at Chattanooga in partial fulfillment of the requirements of the degree of Master of Science.
High performance computing--Research; Computer architecture; C++ (Computer program language); Application program interfaces (Computer software)
x, 76 leaves
Suggs, Evan Drake, "Kokkos-enhanced ExaMPI" (2023). Masters Theses and Doctoral Dissertations.