1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
.. _mpi_session_init:
MPI_Session_init
================
.. include_body
:ref:`MPI_Session_init` |mdash| Creates a new session handle
SYNTAX
------
C Syntax
^^^^^^^^
.. code-block:: c
#include <mpi.h>
int MPI_Session_init(MPI_Info info, MPI_Errhandler errhandler, MPI_Session *session)
Fortran Syntax
^^^^^^^^^^^^^^
.. code-block:: fortran
USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_SESSION_INIT(INFO, ERRHANDLER, SESSION, IERROR)
INTEGER INFO, ERRHANDLER, SESSION, IERROR
Fortran 2008 Syntax
^^^^^^^^^^^^^^^^^^^
.. code-block:: fortran
USE mpi_f08
MPI_Session_init(info, errhandler, session, ierror)
TYPE(MPI_Info), INTENT(IN) :: info
TYPE(MPI_Errhandler), INTENT(IN) :: errhandler
TYPE(MPI_Session), INTENT(OUT) :: session
INTEGER, OPTIONAL, INTENT(OUT) :: ierror
INPUT PARAMETERS
----------------
* ``info`` : info object (handle)
* ``errhandler`` : error handler to be attached to the returned session
(handle)
OUTPUT PARAMETERS
-----------------
* ``session`` : New session (handle).
* ``ierror`` : Fortran only: Error status (integer).
DESCRIPTION
-----------
:ref:`MPI_Session_init` is used to instantiate an MPI Session. The
returned session handle can be used to query the runtime system about
characteristics of the job within which the process is running, as
well as other system resources. Other MPI communications can also be
initiated in the context of an MPI session handle. All sessions must
be finalized via :ref:`MPI_Session_finalize` before the MPI process
terminates.
Multiple sessions can be created and destroyed during the lifetime of
an MPI process. This is different than MPI world model, which can be
initialized at most exactly once (and then subsequently finalized)
during the lifetime of an MPI process.
NOTES
-----
The *info* argument is used to request MPI functionality requirements
and possible MPI implementation specific capabilities.
The *errhandler* argument specifies an error handler to invoke in the
event that the Session instantiation call encounters an error.
ERRORS
------
.. include:: ./ERRORS.rst
.. seealso::
* :ref:`MPI_Init`
* :ref:`MPI_Initialized`
* :ref:`MPI_Init_thread`
* :ref:`MPI_Finalize`
* :ref:`MPI_Finalized`
* :ref:`MPI_Group_from_session_pset`
* :ref:`MPI_Session_c2f`
* :ref:`MPI_Session_call_errhandler`
* :ref:`MPI_Session_create_errhandler`
* :ref:`MPI_Session_f2c`
* :ref:`MPI_Session_finalize`
* :ref:`MPI_Session_get_errhandler`
* :ref:`MPI_Session_get_info`
* :ref:`MPI_Session_get_nth_pset`
* :ref:`MPI_Session_get_num_psets`
* :ref:`MPI_Session_get_pset_info`
* :ref:`MPI_Session_init`
* :ref:`MPI_Session_set_errhandler`
* :ref:`MPI_T_pvar_session_create`
* :ref:`MPI_T_pvar_session_free`
|