MPI_STATUS_F082F(3)
π MPI_STATUS_F082F π
okay bestie, welcome to the Open MPI manual, glow-up edition β¨ this one lives in section 3 of the Open MPI man pages and it's all about the little conversion routines MPI_Status_f082f and MPI_Status_f2f08 β they translate a Fortran 2008 status into a Fortran INTEGER-style status, or vice versa. yes, both directions, she's flexible π
π NAME π
MPI_Status_f082f, MPI_Status_c2f08 β Translates a Fortran 2008 status into a Fortran INTEGER-style status, or vice versa.
(yes babe, that's literally what it says, we're not editing the NAME line, that's the assignment πΈ)
β¨ SYNTAX β¨
π¦ C Syntax
#include <mpi.h>
int MPI_Status_f082f(const MPI_F08_status *f08_status, MPI_Fint *f_status)
int MPI_Status_f2f08(const MPI_Fint *f_status, MPI_F08_status *f08_status)
πΈ Fortran mpi Module Syntax
USE MPI
MPI_STATUS_F082F(F08_STATUS, F_STATUS, IERROR)
TYPE(MPI_Status) :: F08_STATUS
INTEGER :: STATUS(MPI_STATUS_SIZE), IERROR
MPI_STATUS_F2F08(F_STATUS, F08_STATUS, IERROR)
INTEGER :: F_STATUS(MPI_STATUS_SIZE), IERROR
TYPE(MPI_Status) :: F08_STATUS
π§ Fortran mpi_f08 Module Syntax
USE mpi_f08
MPI_Status_f082f(f08_status, f_status, ierror)
TYPE(MPI_Status), INTENT(IN) :: f08_status
INTEGER, INTENT(OUT) :: f_status(MPI_STATUS_SIZE)
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
MPI_Status_f2f08(f_status, f08_status, ierror)
INTEGER, INTENT(IN) :: f_status(MPI_STATUS_SIZE)
TYPE(MPI_Status), INTENT(OUT) :: f08_status
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
π PARAMETERS π
f08_statusβ mpi_f08-style MPI status objectf_statusβ mpi-style INTEGER MPI status object
π₯ DESCRIPTION π₯
okay so here's the tea β these two procedures exist purely to convert between a Fortran 2008 status (which is a derived datatype made of integers) and a Fortran status (which is an array of integers), and yep, they do it both ways. and the way that the conversion happens on all the information in status, including the hidden stuff?? that's the whole point. no status information is lost in the conversion. periodt. π
when you're using MPI_Status_f082f, there's a whole vibe check you gotta pass π if f08_status is a valid Fortran status, but not the Fortran value of MPI_F08_STATUS_IGNORE (in C), MPI_STATUS_IGNORE (in Fortran), MPI_F08_STATUSES_IGNORE (in C) or MPI_STATUSES_IGNORE (in Fortran) β then MPI_Status_f082f returns in f_status a valid array with the same content. slay. but π¨ if f08_status is the C value of MPI_F08_STATUS_IGNORE or MPI_F08_STATUSES_IGNORE, or the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if f08_status is not a valid Fortran status β then the call is erroneous. not it, bestie, don't do that π
when you're using MPI_Status_f2f08, the opposite conversion is applied. so if f_status is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if f_status is not a valid Fortran status β then the call is erroneous. same energy, same warning, same heartbreak π
the input status has the same source, tag and error code values as the output status, and returns the same answers when queried for count, elements, and cancellation. iconic behavior honestly π and here's a lil detail that matters: the conversion function may be called with an input status argument that has an undefined error field, in which case the value of the error field in the output status argument is undefined. so like, no promises there, iykyk π
π NOTES π
the Fortran subroutines for these MPI routines are only available in the mpi and mpi_f08 modules (including the type specification for TYPE(MPI_Status)); they are (intentionally) not available in mpif.h. that's not a bug babes, that's a choice π«
See also:
MPI_Status_c2fMPI_Status_c2f08
π«Ά Copyright π«Ά
2003-2026, The Open MPI Community
and that's the whole page bestie, you ate it up fr fr π this was MPI_STATUS_F082F(3) from Open MPI, dated Sep 10, 2026 β mwah, go convert some statuses responsibly, ily πβ¨π
π¦ where this page comes from
- ubuntu stonking: openmpi-doc 5.0.10-6 Β· other
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms