Generating Bindings in MPICH

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Zhou, Hui, Raffenetti, Ken, Bland, Wesley, Guo, Yanfei
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909087426412544
author Zhou, Hui
Raffenetti, Ken
Bland, Wesley
Guo, Yanfei
author_facet Zhou, Hui
Raffenetti, Ken
Bland, Wesley
Guo, Yanfei
contents The MPI Forum has recently adopted a Python scripting engine for generating the API text in the standard document. As a by-product, it made available reliable and rich descriptions of all MPI functions that are suited for scripting tools. Using these extracted API information, we developed a Python code generation toolbox to generate the language binding layers in MPICH. The toolbox replaces nearly 70,000 lines of manually maintained C and Fortran 2008 binding code with around 5,000 lines of Python scripts plus some simple configuration. In addition to completely eliminating code duplication in the binding layer and avoiding bugs from manual code copying , the code generation also minimizes the effort for API extension and code instrumentation. This is demonstrated in our implementation of MPI-4 large count functions and the prototyping of a next generation MPI profiling interface, QMPI.
format Preprint
id arxiv_https___arxiv_org_abs_2401_16547
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Generating Bindings in MPICH
Zhou, Hui
Raffenetti, Ken
Bland, Wesley
Guo, Yanfei
Distributed, Parallel, and Cluster Computing
The MPI Forum has recently adopted a Python scripting engine for generating the API text in the standard document. As a by-product, it made available reliable and rich descriptions of all MPI functions that are suited for scripting tools. Using these extracted API information, we developed a Python code generation toolbox to generate the language binding layers in MPICH. The toolbox replaces nearly 70,000 lines of manually maintained C and Fortran 2008 binding code with around 5,000 lines of Python scripts plus some simple configuration. In addition to completely eliminating code duplication in the binding layer and avoiding bugs from manual code copying , the code generation also minimizes the effort for API extension and code instrumentation. This is demonstrated in our implementation of MPI-4 large count functions and the prototyping of a next generation MPI profiling interface, QMPI.
title Generating Bindings in MPICH
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2401.16547