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

ABI: Fortran binding on top of core C ABI #6953

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

Commits on Apr 3, 2024

  1. abi: split fortran related APIs to mpi_abi_fort.h

    The Fortran related APIs are meant for interoperation from C to Fortran,
    and it only can be implemented by a Fortran binding implementation.
    
    Split the header allows an independent Fortran binding implementation.
    For most C MPI code, it won't need mpi_abi_fort.h nor a Fortran binding.
    For those C code that need Fortran inter-op APIs, they must be linked to
    a Fortran binding library, e.g. libmpifort.so and likely also linked to
    Fortran runtime.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    160b576 View commit details
    Browse the repository at this point in the history
  2. abi: build libmpi_abi.so without Fortran parts

    Skip MPI_Fint, _{f2c,c2f,f2f08,f082f,c2f08,f082c},
    MPI_{F,F08}_STATUS(ES)_IGNORE etc.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    62c4812 View commit details
    Browse the repository at this point in the history
  3. python: add custom_dir to load_C_func_list

    Add an option so different bindings can selectively choose to whether
    to only load function defined in the custom_dir or all functions listed
    in the binding_dir.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    90a732f View commit details
    Browse the repository at this point in the history
  4. abi_fortran: copy fortran binding files

    Start from a duplicate copy.
    
    We'll refactor later. Or, if things work out, the ABI fortran binding
    will be the only binding we need.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    b835e25 View commit details
    Browse the repository at this point in the history
  5. abi_fortran: add build files

    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    f634812 View commit details
    Browse the repository at this point in the history
  6. abi_fortran: port fortran binding implementations

    Port MPICH's fortran binding implementation to abi_fortran.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    d2eb571 View commit details
    Browse the repository at this point in the history
  7. abi_fortran: reimplement attr_proxy.c

    Re-implement proxy wrappers for attribute callbacks that does not rely
    on internal backdoor functions to pass the Fortran context.
    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    6d0a5e4 View commit details
    Browse the repository at this point in the history
  8. abi_fortran: build mpif_h

    hzhou committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    e2e673a View commit details
    Browse the repository at this point in the history