MPI_PREADY_RANGE(3)

πŸ“¦
version 5.0.10 Β· 4 versions
, in ubuntu stonking

πŸ’– MPI_Pready_range πŸ’–

okay so bestie, welcome to the manual page for MPI_Pready_range, which lives in the MPI_PREADY_RANGE(3) section of the Open MPI docs. this little icon tells the world that a whole range of send-side partitions are ready to be shipped out. like, "these ones are done, come get em" energy. no cap. 🫢


✨ NAME ✨

MPI_Pready_range β€” signals that a given range of send-side partitions are ready to be transferred. πŸ’Œ


🌸 SYNTAX 🌸

πŸŽ€ C Syntax

#include <mpi.h>

int MPI_Pready_range(int partition_low, int partition_high, MPI_Request request)

πŸŽ€ Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_PREADY(PARTITION_LOW, PARTITION_HIGH, REQUEST, IERROR)
     INTEGER PARTITION_LOW, PARTITION_HIGH, REQUEST, IERROR

πŸŽ€ Fortran 2008 Syntax

USE mpi_f08
MPI_Pready(partition_low, partition_high, request, ierror)
     INTEGER, INTENT(IN) :: partition_low, partition_high
     TYPE(MPI_Request), INTENT(IN) :: request
     INTEGER, OPTIONAL, INTENT(OUT) :: ierror

πŸ¦‹ INPUT PARAMETERS πŸ¦‹

  • partition_low β€” the lowest partition in the range you're marking as ready to transfer. it's an integer, bestie. πŸ’…
  • partition_high β€” the highest partition in that range. also an integer. πŸ“ˆ
  • request β€” your communication request, aka the handle. 🎯

🌈 OUTPUT PARAMETERS 🌈

  • ierror β€” Fortran only: the error status (integer). 🧾

πŸ‘‘ ERRORS πŸ‘‘

okay so real talk: almost every MPI routine gives you back an error value. in C it's the return value of the function, and in Fortran it lands in the last argument. πŸ’€

but before that error value comes back to you, the current MPI error handler attached to the communication object (think: communicator, window, file) gets called. and if there's no communication object tied to that MPI call at all? then the call is considered attached to MPI_COMM_SELF and it'll call the error handler for that. and when MPI_COMM_SELF isn't even initialized yet β€” meaning before MPI_Init / MPI_Init_thread, after MPI_Finalize, or when you're using the Sessions Model exclusively β€” then the error raises the initial error handler. 🌱

you can change that initial error handler, btw, by calling MPI_Comm_set_errhandler on MPI_COMM_SELF if you're in the World model, or via the mpi_initial_errhandler CLI argument to mpiexec, or with the info key to MPI_Comm_spawn / MPI_Comm_spawn_multiple. and if no other appropriate error handler has been set? then MPI_ERRORS_RETURN gets called for MPI I/O functions, and MPI_ERRORS_ABORT gets called for all the other MPI functions. 😭

Open MPI ships three predefined error handlers you can use:

  • MPI_ERRORS_ARE_FATAL β€” causes the program to abort all connected MPI processes. dramatic, but it's giving decisive. πŸ’€
  • MPI_ERRORS_ABORT β€” an error handler that can be invoked on a communicator, window, file, or session. when you call it on a communicator, it acts as if MPI_Abort was called on that communicator. call it on a window or file and it acts as if MPI_Abort was called on a communicator containing the group of processes in the corresponding window or file. call it on a session and it aborts only the local process. πŸŒͺ️
  • MPI_ERRORS_RETURN β€” hands an error code back to your application. 🫢

MPI applications can also implement their very own error handlers by calling:

  • MPI_Comm_create_errhandler and then MPI_Comm_set_errhandler πŸ› οΈ
  • MPI_File_create_errhandler and then MPI_File_set_errhandler πŸ“
  • MPI_Session_create_errhandler and then MPI_Session_set_errhandler, or at MPI_Session_init πŸŒ€
  • MPI_Win_create_errhandler and then MPI_Win_set_errhandler πŸͺŸ
⚠️ note that MPI does not guarantee that an MPI program can continue past an error. like, once it's over it's over, periodt.

see the MPI man page for a full list of MPI error codes. πŸ“œ

and see the Error Handling section of the MPI-3.1 standard if you want the deep lore. πŸ“š

see also:

  • MPI_Pready
  • MPI_Pready_list
  • MPI_Parrived

2003-2026, The Open MPI Community πŸ’œ


okay bestie that's the whole page!! πŸ₯³ this was MPI_PREADY_RANGE(3) from Open MPI, dated Sep 10, 2026 β€” go mark those partitions ready and slay, you've got this πŸ’…βœ¨πŸ¦‹πŸ“

πŸ“¦ where this page comes from