File: MPI_T_pvar_handle_alloc.3.rst

package info (click to toggle)
openmpi 5.0.8-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 201,692 kB
  • sloc: ansic: 613,078; makefile: 42,351; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (76 lines) | stat: -rw-r--r-- 2,318 bytes parent folder | download | duplicates (4)
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`