17.2.2. PMIx_Init

PMIx_Init - Initialize the PMIx Client

17.2.2.1. SYNOPSIS

#include <pmix.h>

pmix_status_t PMIx_Init(pmix_proc_t *proc);

17.2.2.2. ARGUMENTS

  • proc: Pointer to a pmix_proc_t object in which the client’s namespace and rank are to be returned.

17.2.2.3. DESCRIPTION

Initialize the PMIx client, returning the process identifier assigned to this client’s application in the provided pmix_proc_t struct. Passing a parameter of NULL for this parameter is allowed if the user wishes solely to initialize the PMIx system and does not require return of the identifier at that time.

When called, the PMIx client will check for the required connection information of the local PMIx server and will establish the connection. If the information is not found, or the server connection fails, then an appropriate error constant will be returned.

If successful, the function will return PMIX_SUCCESS and will fill the provided structure with the server-assigned namespace and rank of the process within the application.

Note that the PMIx client library is referenced counted, and so multiple calls to PMIx_Init are allowed. Thus, one way to obtain the namespace and rank of the process is to simply call PMIx_Init with a non-NULL parameter.

17.2.2.4. RETURN VALUE

Returns PMIX_SUCCESS on success. On error, a negative value corresponding to a PMIx errno is returned.

17.2.2.5. ERRORS

PMIx errno values are defined in pmix_common.h.

See also

PMIx_Initialized(3), PMIx_Abort(3), PMIx_Commit(3), PMIx_Finalize(3), PMIx_Put(3), pmiAddInstance(3), pmiAddMetric(3)