Skip to main content

Understanding GPU Triggering APIs for MPI+X Communication

  • Conference paper
  • First Online:
Recent Advances in the Message Passing Interface (EuroPVM/MPI 2024)

Abstract

GPU-enhanced architectures are now dominant in HPC systems, but message-passing communication involving GPUs with MPI has proven to be both complex and expensive, motivating new approaches that lower such costs. We compare and contrast stream/graph-, kernel-triggered, and GPU-initiated MPI communication abstractions, whose principal purpose is to enhance the performance of communication when GPU kernels create or consume data for transfer through MPI operations. Researchers and practitioners have proposed multiple potential APIs for GPU-involved communication that span various GPU architectures and approaches, including MPI-4 partitioned point-to-point communication, stream communicators, and explicit MPI stream/queue objects. Designs breaking backward compatibility with MPI are duly noted. Some of these strengthen or weaken the semantics of MPI operations. A key contribution of this paper is to promote community convergence toward common abstractions for GPU-involved communication by highlighting the common and differing goals and contributions of existing abstractions. We describe the design space in which these abstractions reside, their implicit or explicit use of stream and other non-MPI abstractions, their relationship to partitioned and persistent operations, and discuss their potential for added performance, how usable these abstractions are, and where functional and/or semantic gaps exist. Finally, we provide a taxonomy for these abstractions, including disambiguation of similar semantic terms, and consider directions for future standardization in MPI-5.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    The term ‘initiating’ refers to a sequence of the initialization and starting phases.

  2. 2.

    HPE also provides stream-triggered, two-sided communication, not considered here.

  3. 3.

    It also removes the restrictions of persistent send and receive operations—MPI_Send_init and MPI_Recv_init—from MPI-1, which are forbidden to communicate and do not match only once. These fail to offer a channel semantic or obviate receive-queue matching. By way of contrast, single partitioned mode provides a uni-directional channel abstraction.

  4. 4.

    Personal Communication, Dr. Daniel J. Holmes, Intel Corp., June 14, 2024.

  5. 5.

    Personal Communication, Dr. Daniel J. Holmes, Intel Corp., June 14, 2024.

References

  1. Dinan, J.: MPI-ACX: MPI Accelerator Extensions Prototype (2023). https://github.com/NVIDIA/mpi-acx

  2. Dinan, J., et al.: Enabling communication concurrency through flexible MPI endpoints. Int. J. High Performance Comput. Appl.28(4), 390–405 (2014) 10.1177/1094342014548772, https://doi.org/10.1177/1094342014548772

  3. Elis, B., Pearce, O., Böhme, D., Burmark, J., Schulz, M.: Non-blocking GPU-CPU notifications to enable more GPU-CPU parallelism. In: Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region, HPCAsia 2024, Nagoya, Japan, January 25-27, 2024, pp. 1–11. ACM (2024). https://doi.org/10.1145/3635035.3635036

  4. Enterprise, H.P.: HPE Slingshot Interconnect. https://www.hpe.com/in/en/compute/hpc/slingshot-interconnect.html

  5. Enterprise, H.P.: MPIX_start - Cray MPICH Documentation (2024). https://cpe.ext.hpe.com/docs/mpt/mpich/mpix_start.html

  6. Forum, M.: Synchronization on Partitioned Communication for Accelerator Optimization (2020). https://github.com/mpi-forum/mpi-issues/issues/302

  7. Gropp, W.: MPICH2: a new start for MPI implementations. In: Kranzlmüller, D., Volkert, J., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2002. LNCS, vol. 2474, pp. 7–7. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45825-5_5

    Chapter  Google Scholar 

  8. Holmes, D.J., et al.: Partitioned collective communication. In: 2021 Workshop on Exascale MPI (ExaMPI), pp. 9–17. IEEE, St. Louis, MO, USA, Nov 2021). https://doi.org/10.1109/ExaMPI54564.2021.00007, https://ieeexplore.ieee.org/document/9652828/

  9. Intel Corp.: Intel MPI Library Developer Reference for Linux, June 2024. https://www.intel.com/content/www/us/en/docs/mpi-library/developer-reference-linux/2021-12/overview.html

  10. Intel Corp.: Intel MPI Library Developer Reference for Linux: GPU Buffers Support, June 2024. https://www.intel.com/content/www/us/en/docs/mpi-library/developer-reference-linux/2021-12/gpu-buffers-support.html#GUID-43A895E2-0FAC-4166-944C-67D5DE15A31C, This citation is for the Intel GPU-initiated interface and not the entire Intel MPI library

  11. Koziol, Q.: Composable Asynchronous Communication Graphs and Streams in MPI (2023). https://github.com/mpiwg-hybrid/hybrid-issues/files/11680187/Project_Delorean-2023-06-07a.pdf

  12. Message Passing Interface Forum: MPI: A Message-Passing Interface Standard Version 4.0, June 2021. https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf

  13. Message Passing Interface Forum: MPI: A Message-Passing Interface Standard Version 4.1, November 2023. https://www.mpi-forum.org/docs/mpi-4.1/mpi41-report.pdf

  14. Namashivayam, N., Kandalla, K., White, T., Radcliffe, N., Kaplan, L., Pagel, M.: Exploring GPU Stream-Aware Message Passing using Triggered Operations, August 2022. http://arxiv.org/abs/2208.04817, arXiv:2208.04817 [cs]

  15. Namashivayam, N., Kandalla, K., White III, J.B., Kaplan, L., Pagel, M.: Exploring Fully Offloaded GPU Stream-Aware Message Passing, June 2023. http://arxiv.org/abs/2306.15773, arXiv:2306.15773 [cs]

  16. Panda, D.K., Subramoni, H., Chu, C.H., Bayatpour, M.: The MVAPICH project: Transforming research into high-performance MPI library for HPC community. J. Comput. Sci. 52, 101208 (2021). https://doi.org/10.1016/j.jocs.2020.101208,https://www.sciencedirect.com/science/article/pii/S1877750320305093, case Studies in Translational Computer Science

  17. Venkatesh, A., Hamidouche, K., Potluri, S., Rosetti, D., Chu, C.H., Panda, D.K.: MPI-GDS: high performance MPI designs with GPUDirect-aSync for CPU-GPU control flow decoupling. In: 2017 46th International Conference on Parallel Processing (ICPP), pp. 151–160. IEEE, Bristol, United Kingdom, August 2017. https://doi.org/10.1109/ICPP.2017.24, http://ieeexplore.ieee.org/document/8025289/

  18. Zhou, H., Raffenetti, K., Guo, Y., Thakur, R.: mpix stream: an explicit solution to hybrid MPI+X programming. In: Proceedings of the 29th European MPI Users’ Group Meeting, pp. 1–10. ACM, Chattanooga TN USA, September 2022. https://doi.org/10.1145/3555819.3555820, https://dl.acm.org/doi/10.1145/3555819.3555820

Download references

Acknowledgments

The authors wish to acknowledge Dr. Daniel J. Holmes of Intel Corporation for providing information, examples, and references on the Intel GPU triggering API for this paper. The authors also wish to acknowledge Dr. Hui Zhou of Argonne National Laboratories for providing additional information and clarifications on the MPICH stream triggering API.

This work was performed with partial support from the National Science Foundation under Grants Nos.  OAC-2103510, CCF-2405142 and CCF-2412182, the U.S. Department of Energy’s National Nuclear Security Administration (NNSA) under the Predictive Science Academic Alliance Program (PSAAP-III), Award DE-NA0003966, and Tennessee Technological University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation, or the U.S. Department of Energy’s National Nuclear Security Administration.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrick G. Bridges .

Editor information

Editors and Affiliations

Ethics declarations

Disclosure of Interests

The authors have no competing interests to declare that are relevant to the content of this article.

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bridges, P.G., Skjellum, A., Suggs, E.D., Schafer, D., Bangalore, P.V. (2025). Understanding GPU Triggering APIs for MPI+X Communication. In: Blaas-Schenner, C., Niethammer, C., Haas, T. (eds) Recent Advances in the Message Passing Interface. EuroPVM/MPI 2024. Lecture Notes in Computer Science, vol 15267. Springer, Cham. https://doi.org/10.1007/978-3-031-73370-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-73370-3_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-73369-7

  • Online ISBN: 978-3-031-73370-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics