Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fortran/use-mpi-f08: add support for Fortran 2018 ISO_Fortran_binding.h try number two #10302

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

hppritcha
Copy link
Member

@hppritcha hppritcha commented Apr 20, 2022

This PR is based off of @ggouaillardet 's https://github.com/ggouaillardet/ompi/tree/dev/f08_cdesc branch, rebased on top of master and some additional patching.

This PR addresses the fact that Open MPI is out of compliance with the MPI standard wrt F08 interfaces when built with Fortran compilers that fully support Fortran TS 29113. This TS is part of the Fortran 2018 standard. See section 19.1.2 of the MPI 4.0 standard for further details.

Related to #6569

Compilers I've tested that can generate the ISO Fortran bindings are gcc > 8, Intel OneAPI compilers.

Marked as a draft since there are still open items.

@hppritcha hppritcha marked this pull request as draft April 20, 2022 21:01
@hppritcha
Copy link
Member Author

bot:ompi:retest

ggouaillardet and others added 15 commits December 5, 2023 08:23
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>

Conflicts:
	config/ompi_setup_mpi_fortran.m4
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
…tines

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
…broutines

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Fortran 2008 bindings can now be built if the Fortran compiler
supports IGNORE_TKR *or* Fortran ISO bindings.

Some other fixes were included in this commit.

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
interfaces

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
and isendrecv_replace

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
@hppritcha hppritcha force-pushed the topic/f08_iso_fortran_bindings branch from 22e2b20 to 48ab65f Compare December 5, 2023 19:49
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
jtronge added a commit to jtronge/ompi that referenced this pull request Feb 7, 2024
This refactors the Python scripts for generating the C and Fortran
interfaces into ompi/mpi/bindings/ and extends the Fortran code for more
complicated functions.

TS 29113 support is also added here, with code imported from PR open-mpi#10302.

Signed-off-by: Jake Tronge <jtronge@lanl.gov>
jtronge added a commit to jtronge/ompi that referenced this pull request Aug 12, 2024
This updates fortran/use-mpi-f08 to generate most of the Fortran
bindings from a script and template files. It also adds support for
Fortran TS 29113 when possible, allowing for better Fortran array
handling that matches the standard.

The C files were imported from PR open-mpi#10302 and converted to templates to
be fed into the binding script.

Co-authored-by: Gilles Gouaillardet <gilles@rist.or.jp>
Co-authored-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Jake Tronge <jtronge@lanl.gov>
jtronge added a commit to jtronge/ompi that referenced this pull request Aug 12, 2024
This updates fortran/use-mpi-f08 to generate most of the Fortran
bindings from a script and template files. It also adds support for
Fortran TS 29113 when possible, allowing for better Fortran array
handling that matches the standard.

The C files were imported from PR open-mpi#10302 and converted to templates to
be fed into the binding script.

Co-authored-by: Gilles Gouaillardet <gilles@rist.or.jp>
Co-authored-by: Howard Pritchard <howardp@lanl.gov>
Signed-off-by: Jake Tronge <jtronge@lanl.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants