Skip to content

v6.0.x: Fortran REAL16: improve detection and wiring across OMPI/OPAL#13713

Open
bosilca wants to merge 1 commit intoopen-mpi:v6.0.xfrom
bosilca:v6.x/topic/better_support_for_fortran_real16
Open

v6.0.x: Fortran REAL16: improve detection and wiring across OMPI/OPAL#13713
bosilca wants to merge 1 commit intoopen-mpi:v6.0.xfrom
bosilca:v6.x/topic/better_support_for_fortran_real16

Conversation

@bosilca
Copy link
Member

@bosilca bosilca commented Feb 3, 2026

Probe REAL*16 against _Float128 first, then __float128, and finally _Quad (Intel) to find a C type with matching bit representation. Ensure OPAL’s FLOAT12/FLOAT16 constructors are always available and map OMPI/MPI REAL16 based on architecture/language specifics.

Wire FLOAT128 types through copy/pack/unpack paths and hook REAL16 into the base MPI_Op table. This enables software-only reductions for REAL16 for as long as the Fortran type has a C equivalent.

When an OPAL type description is decided at build time (such as float12 and float16), create an OPAL-level #define with their selected size. This allow the rest of the code to simply use this size instead of trying to figure out what is the real size of the type.

#13612 backport for the 6.x

(cherry picked from commit 941af5e)

Probe REAL*16 against _Float128 first, then __float128, and finally _Quad
(Intel) to find a C type with matching bit representation. Ensure OPAL’s
FLOAT12/FLOAT16 constructors are always available and map OMPI/MPI REAL16
based on architecture/language specifics.

Wire FLOAT128 types through copy/pack/unpack paths and hook REAL16 into the
base MPI_Op table. This enables software-only reductions for REAL16 for
as long as the Fortran type has a C equivalent.

When an OPAL type description is decided at build time (such as float12
and float16), create an OPAL-level #define with their selected size.
This allow the rest of the code to simply use this size instead of
trying to figure out what is the real size of the type.

Signed-off-by: George Bosilca <gbosilca@nvidia.com>
(cherry picked from commit 941af5e)
@github-actions github-actions bot added this to the v6.0.0 milestone Feb 3, 2026
@bosilca bosilca changed the title Fortran REAL16: improve detection and wiring across OMPI/OPAL v6.0.x: Fortran REAL16: improve detection and wiring across OMPI/OPAL Feb 3, 2026
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.

1 participant