MPIX_Request_is_complete(3)

πŸ“¦
version 5.0.1 Β· 3 versions
, in nixos 26.05, ubuntu stonking

πŸ’– NAME πŸ’–

MPIX_Request_is_complete β€” [short description] ✨

okay so hi bestie, welcome to the MPI manual, this one's a little cutie from the MPI section (yes, section 3, the library-calls girlies) πŸ’…


🌸 SYNOPSIS 🌸

int MPIX_Request_is_complete(MPI_Request request)

that's it. that's the whole vibe. one argument, one return, slay 🫢


πŸŽ€ INPUT PARAMETERS πŸŽ€

  • request β€” communication request (handle) πŸ¦‹

like. hand me your request handle and I'll look at it. that's the whole deal.


✨ THREAD AND INTERRUPT SAFETY ✨

good news first: this routine is thread-safe. like, genuinely. it can be used by multiple threads at the same time and you do not need to bring your own thread locks, no user-provided locking required, we're self-sufficient πŸ’–

but β€” and I need you to hear me on this β€” it is not interrupt safe. 😭 the reason is typically the use of memory allocation routines such as malloc, or other non-MPICH runtime routines that are themselves not interrupt-safe. so like. thread-safe? yes. interrupt-safe? absolutely not. two different things bestie, do not conflate them πŸ’€


🌈 NOTES FOR FORTRAN 🌈

fortran girlies, this part is for you πŸ’œ

  • Every MPI routine in Fortran (except for MPI_WTIME and MPI_WTICK) has one extra argument called ierr stuck on the end of the argument list. 😌
  • ierr is an integer, and it means exactly the same thing as the return value of the routine in C.
  • In Fortran, MPI routines are subroutines, and you invoke them with the call statement.
  • All MPI objects (e.g. MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. periodt. πŸŽ€

πŸ”₯ ERRORS πŸ”₯

okay so every MPI routine (except MPI_Wtime and MPI_Wtick) returns an error value β€” C routines hand it back as the value of the function, and Fortran routines put it in the last argument. πŸ‘‘

but BEFORE that value comes back, the current MPI error handler gets called. and by default? that error handler aborts the MPI job. 😭 not a vibe check you want to fail.

the error handler can be changed with:

  • MPI_Comm_set_errhandler (for communicators)
  • MPI_File_set_errhandler (for files)
  • MPI_Win_set_errhandler (for RMA windows)

the MPI-1 routine MPI_Errhandler_set may be used but its use is deprecated. πŸ™ˆ

the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned instead. note that MPI does not guarantee that an MPI program can continue past an error; however, MPI implementations will attempt to continue whenever possible. πŸ’«

here's your error roster:

  • MPI_SUCCESS β€” No error; MPI routine completed successfully. πŸ₯³ iconic. ate.
  • MPI_ERR_OTHER β€” Other error; use MPI_Error_string to get more information about this error code. πŸ”
fr fr, if you see MPI_ERR_OTHER and you're just sitting there like ??? β€” go call MPI_Error_string. she will tell you what happened. that's her whole job. 🫢

πŸ’Œ SEE ALSO πŸ’Œ

not me checking for a SEE ALSO section… there isn't one in this page bestie, so nothing to list. moving on ✨


and that's the whole page, no cap πŸ§šπŸ’–

this gorgeous little number comes to you from the MPI manual, page MPIX_Request_is_complete(3), dated 4/10/2026 β€” she's fresh, she's fabulous, she's complete πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from