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
|
.. _mpi_t_pvar_handle_alloc:
MPI_T_pvar_handle_alloc
=======================
.. include_body
:ref:`MPI_T_pvar_handle_alloc`, :ref:`MPI_T_pvar_handle_free` - Allocate/free
MPI performance variable handles
SYNTAX
------
C Syntax
^^^^^^^^
.. code-block:: c
#include <mpi.h>
int MPI_T_pvar_handle_alloc(int session, int pvar_index, void *obj_handle,
MPI_T_pvar_handle *handle, int *count)
int MPI_T_pvar_handle_free(int session, MPI_T_pvar_handle *handle)
DESCRIPTION
-----------
:ref:`MPI_T_pvar_handle_alloc` binds the performance variable specified in
*pvar_index* to the MPI object specified in *obj_handle* in the session
identified by the parameter *session*. The object is passed in the
argument *obj_handle* as an address to a local variable that stores the
object’s handle. If :ref:`MPI_T_pvar_get_info` returns MPI_T_BIND_NO_OBJECT as
the binding for the variable the *obj_handle* argument is ignored. The
handle allocated to reference the variable is returned in the argument
*handle*. Upon successful return, *count* contains the number of
elements (of the datatype returned by a previous :ref:`MPI_T_PVAR_GET_INFO`
call) used to represent this variable.
The value of *pvar_index* should be in the range 0 to *num_pvar - 1*,
where *num_pvar* is the number of available performance variables as
determined from a prior call to :ref:`MPI_T_PVAR_GET_NUM`. The type of the
MPI object it references must be consistent with the type returned in
the bind argument in a prior call to :ref:`MPI_T_PVAR_GET_INFO`.
:ref:`MPI_T_pvar_handle_free` frees a handle allocated by
:ref:`MPI_T_pvar_handle_alloc` and sets the *handle* argument to
MPI_T_PVAR_HANDLE_NULL.
ERRORS
------
:ref:`MPI_T_pvar_handle_alloc` will fail if:
* ``MPI_T_ERR_NOT_INITIALIZED``: The MPI Tools interface not initialized
* ``MPI_T_ERR_INVALID_INDEX``: The performance variable index is invalid
* ``MPI_T_ERR_OUT_OF_HANDLES``: No more handles available
:ref:`MPI_T_pvar_handle_free` will fail if:
* ``MPI_T_ERR_NOT_INITIALIZED``: The MPI Tools interface not initialized
* ``MPI_T_ERR_INVALID_HANDLE``: The handle is invalid or the handle
argument passed in is not associated with the session argument
.. seealso::
* :ref:`MPI_T_pvar_get_info`
* :ref:`MPI_T_pvar_get_num`
|