mpiPython: A Streamlined Python Collective Communication Library to MPI
Python's popularity as an interpreted language, particularly among scientists and engineers, is due to its ease of use and flexibility, despite certain performance limitations. Enhancing Python for parallel programming opens significant opportunities in both parallel and cloud computing environments. mpiPython, a Python library designed for message-passing, enables Single Program Multiple Data (SPMD) execution and supports efficient parallel processing. One of its key advantages is its simplicity—both in installation and use—making it accessible to a wide range of users without compromising performance. This paper introduces an extended version of mpiPython, which addresses shortcomings in collective operations for parallel computing while maintaining the library's strengths: ease of installation and minimal overhead. mpiPython is designed with a direct implementation in C, avoiding additional layers, unlike mpi4py, allowing for more efficient communication without unnecessary overhead. The latest version introduces key enhancements to collective communication, including MPI All-Gather, MPI_Send, and MPI_Receive functions. These additions significantly improve performance, particularly in large-scale distributed systems, while preserving mpiPython's focus on being lightweight and user-friendly. Our results show that mpiPython offers competitive performance compared to other MPI libraries while remaining accessible to users who prioritize simplicity and efficiency. The latest fully functional release of mpiPython is now officially available, providing a streamlined solution for Python-based parallel computing.
Authors
- Hanku Lee (ORCID: https://orcid.org/0009-0001-4126-3638)
- Judah J. Nava (ORCID: https://orcid.org/0009-0005-4464-9260)
- Jaden Jinu Lee (ORCID: https://orcid.org/0009-0001-5365-840X)
Institutions
- Minnesota State University Moorhead (US)
Publication Details
- Published
- 2024-11-01
- DOI
- https://doi.org/10.1145/3704304.3704321
- Citations
- 1
- Primary Topic
- Computational Physics and Python Applications
- Type
- article
- Field-Weighted Citation Impact
- 0.35