Towards universal MPI bindings for enhanced new language support
Loading...
Identifiers
Publication date
Advisors
Tutors
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Elsevier
Abstract
In the field of High Performance Computing (HPC), Message Passing Interface (MPI) is the most widely used and prevalent programming model. Only the low-level programming languages C, C++, and Fortran have bindings available in the standard. Although there are attempts to provide MPI bindings for other programming languages, these may be limited, which could lead to incompatibilities, performance overhead, and functional gaps. To address those problems, we present MPI4All, a brand-new tool designed to make the process of developing effective MPI bindings for any programming language more straightforward. Support for additional languages can be added with little difficulty, and MPI4All is independent of the MPI implementation. Programming language binding generators for Go and Java are included in the most recent version of MPI4All. We demonstrate their good performance results with respect to other state-of-the-art approaches. This work is an extended version of the ICCS-2024 conference paper (Piñeiro et al., 2024).
Description
Keywords
Bibliographic citation
Piñeiro, C., Vázquez, Á, & Pichel, J. C. (2025). Towards universal MPI bindings for enhanced new language support. Journal of Computational Science, 87, 102557. 10.1016/j.jocs.2025.102557
Relation
Has part
Has version
Is based on
Is part of
Is referenced by
Is version of
Requires
Publisher version
https://doi.org/10.1016/j.jocs.2025.102557Sponsors
This work was supported by Xunta de Galicia, Spain [ED431G 2019/04, ED431F 2020/08, ED431C 2022/16]; MICINN [PLEC2021-007662, PID2022- 137061OB-C2, PID2022-141027NB-C22]; and European Regional Development Fund (ERDF). Authors also wish to thank CESGA (Galicia, Spain) for providing access to their supercomputing facilities
Rights
© 2025 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/bync/4.0/).
Attribution-NonCommercial 4.0 International
Attribution-NonCommercial 4.0 International








