MPI_STATUS_C2F08(3)
π MPI_STATUS_C2F08 β yes bestie, it's an Open MPI page π
okay so picture this: you've got a status in C land and you've got a status in Fortran 2008 land, and they literally do not speak the same language. this page is the translator. the go-between. the friend who knows both groups. β¨
Technically the page is titled MPI_STATUS_C2F08(3) from the Open MPI manual, and the two stars of the show are really MPI_Status_f082c and MPI_Status_c2f08 β they translate a C status into a Fortran 2008 status, or the other way around. π¦
β¨ SYNOPSIS β¨
πΈ C Syntax
#include <mpi.h>
int MPI_Status_f082c(const MPI_F08_status *f08_status, MPI_Status *c_status)
int MPI_Status_c2f08(const MPI_Status *c_status, MPI_F08_status *f08_status)
π«Ά PARAMETERS π«Ά
f08_statusβ anmpi_f08-style MPI status object. very fortran. very 2008. πc_statusβ a C-style MPI status object. the classic. the original. π
π₯ DESCRIPTION π₯
so these two procedures exist in C specifically to convert from a Fortran 2008 status (which is a derived type made of integers, iykyk) to a C status (which is a structure), and vice versa. the conversion happens on all the information in status, including the hidden stuff that you can't even see. no cap β literally no status information is lost in the conversion. it's giving β¨ thorough β¨.
When you're using MPI_Status_f082c: if f08_status is a valid Fortran status, but not the Fortran value of MPI_F08_STATUS_IGNORE or MPI_F08_STATUSES_IGNORE, then MPI_Status_f082c returns in c_status a valid C status with the exact same content. π―
but bestie. iff08_statusis the Fortran value ofMPI_STATUS_IGNOREorMPI_STATUSES_IGNORE, or iff08_statusjust isn't a valid Fortran status at all? then the call is erroneous. π© not it. do not pass go.
When you're using MPI_Status_c2f08, it's the opposite conversion, obviously. and if c_status is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if c_status isn't a valid C status, then β you guessed it β the call is erroneous. π
The input status has the same source, tag and error code values as the output status, and it returns the same answers when you query it for count, elements, and cancellation. π and here's a lil nuance for you: the conversion function may be called with an input status argument that has an undefined error field, and in that case the value of the error field in the output status argument is undefined. so like, don't be surprised. π
π¦ NOTES π¦
these functions are only available in C. they are not available in any of the Fortran MPI interfaces. periodt. π
π SEE ALSO π
MPI_Status_c2fMPI_Status_f2f08
π COPYRIGHT π
2003-2026, The Open MPI Community
and that's the whole vibe check, bestie π§π this lil Open MPI page was dated May 14, 2026, so go forth and convert those statuses with main character energy. slay. π β¨
π¦ 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