MPI_INFO_CREATE(3)
β¨ NAME β¨
MPI_Info_create β bestie, it literally creates you a shiny new info object π
(hi hello this is page MPI_INFO_CREATE(3) from the Open MPI manual, section 3, and yes we're doing this together π«Ά)
π SYNTAX π
π C Syntax
#include <mpi.h>
int MPI_Info_create(MPI_Info *info)
π Fortran Syntax
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_INFO_CREATE(INFO, IERROR)
INTEGER INFO, IERROR
π¦ Fortran 2008 Syntax
USE mpi_f08
MPI_Info_create(info, ierror)
TYPE(MPI_Info), INTENT(OUT) :: info
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
πΈ OUTPUT PARAMETERS πΈ
infoβ the info object that just got created, as a handle. it's giving newborn-baby-gorgeous πierrorβ Fortran girlies only: your error status, anINTEGER. lowkey important, don't ignore her.
β DESCRIPTION β
okay so MPI_Info_create creates a new info object. that's the whole job. and the newly created object contains no key/value pairs β like, it's fresh, it's empty, it's an absolute blank slate, main character energy fr fr β¨. fill it in later, bestie, no rush.
π ERRORS π
almost all MPI routines return an error value, no cap. C routines give it back to you as the return result of the function, and Fortran routines stash it in the last argument. periodt.
but here's the tea: before that error value comes back to you, the current MPI error handler associated with the communication object (think communicator, window, file β y'know, the usual suspects) gets called. and if there's no communication object associated with the MPI call? then the call is considered attached to MPI_COMM_SELF and it'll call the associated MPI error handler. iconic behavior tbh.
when MPI_COMM_SELF is not initialized β meaning before MPI_Init / MPI_Init_thread, after MPI_Finalize, or when you're using the Sessions Model exclusively β the error raises the initial error handler. and you can change that initial error handler by:
- calling
MPI_Comm_set_errhandleronMPI_COMM_SELFwhen you're using the World model, or - using the
mpi_initial_errhandlerCLI argument tompiexec, or - the info key to
MPI_Comm_spawn/MPI_Comm_spawn_multiple
and if no other appropriate error handler has been set? then the MPI_ERRORS_RETURN error handler is called for MPI I/O functions, and the MPI_ERRORS_ABORT error handler is called for all other MPI functions. that's just how it goes π«
Open MPI includes three predefined error handlers that you can use:
MPI_ERRORS_ARE_FATALβ causes the program to abort all connected MPI processes. dramatic?? yes. but on purpose πMPI_ERRORS_ABORTβ an error handler that can be invoked on a communicator, window, file, or session. When called on a communicator, it acts as ifMPI_Abortwas called on that communicator. If called on a window or file, it acts as ifMPI_Abortwas called on a communicator containing the group of processes in the corresponding window or file. If called on a session, it aborts only the local process.MPI_ERRORS_RETURNβ returns an error code to the application. the chill one π
MPI applications can also implement their own error handlers by calling:
MPI_Comm_create_errhandlerthenMPI_Comm_set_errhandlerMPI_File_create_errhandlerthenMPI_File_set_errhandlerMPI_Session_create_errhandlerthenMPI_Session_set_errhandleror atMPI_Session_initMPI_Win_create_errhandlerthenMPI_Win_set_errhandler
β οΈ note that MPI does not guarantee that an MPI program can continue past an error. like, that's not a vibe check you want to fail, bestie π
see the MPI man page for a full list of MPI error codes. π
see the Error Handling section of the MPI-3.1 standard for more information. (iykyk π)
π§ see also:
MPI_Info_deleteMPI_Info_dupMPI_Info_freeMPI_Info_getMPI_Info_set
π COPYRIGHT π
2003-2026, The Open MPI Community
and that's the whole page, bestie!! π legal girlies said 2003-2026, The Open MPI Community, and this lil doc got stamped Sep 10, 2026 β MPI_INFO_CREATE(3), Open MPI, that's a wrap, slay πβ¨π¦
π¦ 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