MPI_STATUS_F2F08(3)
MPI_STATUS_F2F08(3) โ an Open MPI manual page ๐ฆ
okay bestie, this is the Open MPI manual page for MPI_STATUS_F2F08(3), and we are getting into status conversions. Stay with me, it's giving niche but iconic. ๐
โจ NAME โจ
MPI_Status_f082f,MPI_Status_c2f08โ translates a Fortran 2008 status into a FortranINTEGER-style status, or vice versa. ๐
๐ ๏ธ 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 object ๐f_statusโmpi-styleINTEGERMPI status object โจ
๐ซ DESCRIPTION ๐ซ
Okay so these two procedures are the translators between a Fortran 2008 status โ which is a derived datatype made of integers โ and a Fortran status โ which is an array of integers โ and yes, they go both ways. The conversion happens on all the information in status, including the information that is hidden. That is, no status information is lost in the conversion. Zero. None. Periodt. ๐
When you use MPI_Status_f082f, 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) or 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 iff08_statusis the C value ofMPI_F08_STATUS_IGNOREorMPI_F08_STATUSES_IGNORE, or the Fortran value ofMPI_STATUS_IGNOREorMPI_STATUSES_IGNORE, or iff08_statusis not a valid Fortran status, then the call is erroneous. That's a hard no, bestie. Not cute. ๐
When you use MPI_Status_f2f08, the opposite conversion is applied. 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: do not pass go. ๐
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. 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. And undefined means undefined โ no promises, okay? ๐ญ
๐ 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. Like, that exclusion is on purpose, not a glitch. ๐
๐ SEE ALSO ๐
MPI_Status_c2fMPI_Status_c2f08
๐ COPYRIGHT ๐
2003-2026, The Open MPI Community
mwah ๐ source/version: Open MPI, with the date on the footer: May 14, 2026. That's the whole tea, bestie โ go convert those statuses and stay iconic! ๐ซถ๐
๐ฆ where this page comes from
- arch rolling: nvhpc-comm-libs 26.9-1 ยท LicenseRef-NVIDIA-HPC-SDK
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms