Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

Commit 71fa4a3

Browse files
committed
Merge pull request #1119 from rhc54/topic/pmix
Update the external PMIx component to match the PMIx internal integration
2 parents b5205b1 + e6a1528 commit 71fa4a3

File tree

5 files changed

+425
-442
lines changed

5 files changed

+425
-442
lines changed

opal/mca/pmix/external/pmix_ext.c

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
44
* Copyright (c) 2014-2015 Research Organization for Information Science
55
* and Technology (RIST). All rights reserved.
6-
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
6+
* Copyright (c) 2014 Mellanox Technologies, Inc.
77
* All rights reserved.
88
* $COPYRIGHT$
99
*
@@ -44,85 +44,85 @@
4444
/* These are functions used by both client and server to
4545
* access common functions in the embedded PMIx library */
4646

47-
static const char *pmix1_get_nspace(opal_jobid_t jobid);
48-
static void pmix1_register_jobid(opal_jobid_t jobid, const char *nspace);
47+
static const char *pmix_ext_get_nspace(opal_jobid_t jobid);
48+
static void pmix_ext_register_jobid(opal_jobid_t jobid, const char *nspace);
4949

5050
const opal_pmix_base_module_t opal_pmix_external_module = {
5151
/* client APIs */
52-
.init = pmix1_client_init,
53-
.finalize = pmix1_client_finalize,
54-
.initialized = pmix1_initialized,
55-
.abort = pmix1_abort,
56-
.commit = pmix1_commit,
57-
.fence = pmix1_fence,
58-
.fence_nb = pmix1_fencenb,
59-
.put = pmix1_put,
60-
.get = pmix1_get,
61-
.get_nb = pmix1_getnb,
62-
.publish = pmix1_publish,
63-
.publish_nb = pmix1_publishnb,
64-
.lookup = pmix1_lookup,
65-
.lookup_nb = pmix1_lookupnb,
66-
.unpublish = pmix1_unpublish,
67-
.unpublish_nb = pmix1_unpublishnb,
68-
.spawn = pmix1_spawn,
69-
.spawn_nb = pmix1_spawnnb,
70-
.connect = pmix1_connect,
71-
.connect_nb = pmix1_connectnb,
72-
.disconnect = pmix1_disconnect,
73-
.disconnect_nb = pmix1_disconnectnb,
74-
.resolve_peers = pmix1_resolve_peers,
75-
.resolve_nodes = pmix1_resolve_nodes,
52+
.init = pmix_ext_client_init,
53+
.finalize = pmix_ext_client_finalize,
54+
.initialized = pmix_ext_initialized,
55+
.abort = pmix_ext_abort,
56+
.commit = pmix_ext_commit,
57+
.fence = pmix_ext_fence,
58+
.fence_nb = pmix_ext_fencenb,
59+
.put = pmix_ext_put,
60+
.get = pmix_ext_get,
61+
.get_nb = pmix_ext_getnb,
62+
.publish = pmix_ext_publish,
63+
.publish_nb = pmix_ext_publishnb,
64+
.lookup = pmix_ext_lookup,
65+
.lookup_nb = pmix_ext_lookupnb,
66+
.unpublish = pmix_ext_unpublish,
67+
.unpublish_nb = pmix_ext_unpublishnb,
68+
.spawn = pmix_ext_spawn,
69+
.spawn_nb = pmix_ext_spawnnb,
70+
.connect = pmix_ext_connect,
71+
.connect_nb = pmix_ext_connectnb,
72+
.disconnect = pmix_ext_disconnect,
73+
.disconnect_nb = pmix_ext_disconnectnb,
74+
.resolve_peers = pmix_ext_resolve_peers,
75+
.resolve_nodes = pmix_ext_resolve_nodes,
7676
/* server APIs */
77-
.server_init = pmix1_server_init,
78-
.server_finalize = pmix1_server_finalize,
79-
.generate_regex = pmix1_server_gen_regex,
80-
.generate_ppn = pmix1_server_gen_ppn,
81-
.server_register_nspace = pmix1_server_register_nspace,
82-
.server_deregister_nspace = pmix1_server_deregister_nspace,
83-
.server_register_client = pmix1_server_register_client,
84-
.server_deregister_client = pmix1_server_deregister_client,
85-
.server_setup_fork = pmix1_server_setup_fork,
86-
.server_dmodex_request = pmix1_server_dmodex,
87-
.server_notify_error = pmix1_server_notify_error,
77+
.server_init = pmix_ext_server_init,
78+
.server_finalize = pmix_ext_server_finalize,
79+
.generate_regex = pmix_ext_server_gen_regex,
80+
.generate_ppn = pmix_ext_server_gen_ppn,
81+
.server_register_nspace = pmix_ext_server_register_nspace,
82+
.server_deregister_nspace = pmix_ext_server_deregister_nspace,
83+
.server_register_client = pmix_ext_server_register_client,
84+
.server_deregister_client = pmix_ext_server_deregister_client,
85+
.server_setup_fork = pmix_ext_server_setup_fork,
86+
.server_dmodex_request = pmix_ext_server_dmodex,
87+
.server_notify_error = pmix_ext_server_notify_error,
8888
/* utility APIs */
8989
.get_version = PMIx_Get_version,
9090
.register_errhandler = opal_pmix_base_register_handler,
9191
.deregister_errhandler = opal_pmix_base_deregister_handler,
92-
.store_local = pmix1_store_local,
93-
.get_nspace = pmix1_get_nspace,
94-
.register_jobid = pmix1_register_jobid
92+
.store_local = pmix_ext_store_local,
93+
.get_nspace = pmix_ext_get_nspace,
94+
.register_jobid = pmix_ext_register_jobid
9595
};
9696

97-
static const char *pmix1_get_nspace(opal_jobid_t jobid)
97+
static const char *pmix_ext_get_nspace(opal_jobid_t jobid)
9898
{
99-
opal_pmix1_jobid_trkr_t *jptr;
99+
opal_pmix_ext_jobid_trkr_t *jptr;
100100

101-
OPAL_LIST_FOREACH(jptr, &mca_pmix_external_component.jobids, opal_pmix1_jobid_trkr_t) {
101+
OPAL_LIST_FOREACH(jptr, &mca_pmix_external_component.jobids, opal_pmix_ext_jobid_trkr_t) {
102102
if (jptr->jobid == jobid) {
103103
return jptr->nspace;
104104
}
105105
}
106106
return NULL;
107107
}
108108

109-
static void pmix1_register_jobid(opal_jobid_t jobid, const char *nspace)
109+
static void pmix_ext_register_jobid(opal_jobid_t jobid, const char *nspace)
110110
{
111-
opal_pmix1_jobid_trkr_t *jptr;
111+
opal_pmix_ext_jobid_trkr_t *jptr;
112112

113113
/* if we don't already have it, add this to our jobid tracker */
114-
OPAL_LIST_FOREACH(jptr, &mca_pmix_external_component.jobids, opal_pmix1_jobid_trkr_t) {
114+
OPAL_LIST_FOREACH(jptr, &mca_pmix_external_component.jobids, opal_pmix_ext_jobid_trkr_t) {
115115
if (jptr->jobid == jobid) {
116116
return;
117117
}
118118
}
119-
jptr = OBJ_NEW(opal_pmix1_jobid_trkr_t);
119+
jptr = OBJ_NEW(opal_pmix_ext_jobid_trkr_t);
120120
(void)strncpy(jptr->nspace, nspace, PMIX_MAX_NSLEN);
121121
jptr->jobid = jobid;
122122
opal_list_append(&mca_pmix_external_component.jobids, &jptr->super);
123123
}
124124

125-
pmix_status_t pmix1_convert_opalrc(int rc)
125+
pmix_status_t pmix_ext_convert_opalrc(int rc)
126126
{
127127
switch (rc) {
128128
case OPAL_ERR_UNPACK_READ_PAST_END_OF_BUFFER:
@@ -184,7 +184,7 @@ pmix_status_t pmix1_convert_opalrc(int rc)
184184
}
185185
}
186186

187-
int pmix1_convert_rc(pmix_status_t rc)
187+
int pmix_ext_convert_rc(pmix_status_t rc)
188188
{
189189
switch (rc) {
190190
case PMIX_ERR_UNPACK_READ_PAST_END_OF_BUFFER:
@@ -269,7 +269,7 @@ int pmix1_convert_rc(pmix_status_t rc)
269269
}
270270
}
271271

272-
void pmix1_value_load(pmix_value_t *v,
272+
void pmix_ext_value_load(pmix_value_t *v,
273273
opal_value_t *kv)
274274
{
275275
switch(kv->type) {
@@ -370,7 +370,7 @@ void pmix1_value_load(pmix_value_t *v,
370370
}
371371
}
372372

373-
int pmix1_value_unload(opal_value_t *kv,
373+
int pmix_ext_value_unload(opal_value_t *kv,
374374
const pmix_value_t *v)
375375
{
376376
int rc=OPAL_SUCCESS;
@@ -475,11 +475,11 @@ int pmix1_value_unload(opal_value_t *kv,
475475

476476

477477
/**** INSTANTIATE INTERNAL CLASSES ****/
478-
OBJ_CLASS_INSTANCE(opal_pmix1_jobid_trkr_t,
478+
OBJ_CLASS_INSTANCE(opal_pmix_ext_jobid_trkr_t,
479479
opal_list_item_t,
480480
NULL, NULL);
481481

482-
static void opcon(pmix1_opcaddy_t *p)
482+
static void opcon(pmix_ext_opcaddy_t *p)
483483
{
484484
memset(&p->p, 0, sizeof(pmix_proc_t));
485485
p->procs = NULL;
@@ -497,7 +497,7 @@ static void opcon(pmix1_opcaddy_t *p)
497497
p->spcbfunc = NULL;
498498
p->cbdata = NULL;
499499
}
500-
static void opdes(pmix1_opcaddy_t *p)
500+
static void opdes(pmix_ext_opcaddy_t *p)
501501
{
502502
if (NULL != p->procs) {
503503
PMIX_PROC_FREE(p->procs, p->nprocs);
@@ -512,11 +512,11 @@ static void opdes(pmix1_opcaddy_t *p)
512512
PMIX_APP_FREE(p->apps, p->sz);
513513
}
514514
}
515-
OBJ_CLASS_INSTANCE(pmix1_opcaddy_t,
515+
OBJ_CLASS_INSTANCE(pmix_ext_opcaddy_t,
516516
opal_object_t,
517517
opcon, opdes);
518518

519-
static void ocadcon(pmix1_opalcaddy_t *p)
519+
static void ocadcon(pmix_ext_opalcaddy_t *p)
520520
{
521521
OBJ_CONSTRUCT(&p->procs, opal_list_t);
522522
OBJ_CONSTRUCT(&p->info, opal_list_t);
@@ -530,12 +530,12 @@ static void ocadcon(pmix1_opalcaddy_t *p)
530530
p->odmdxfunc = NULL;
531531
p->ocbdata = NULL;
532532
}
533-
static void ocaddes(pmix1_opalcaddy_t *p)
533+
static void ocaddes(pmix_ext_opalcaddy_t *p)
534534
{
535535
OPAL_LIST_DESTRUCT(&p->procs);
536536
OPAL_LIST_DESTRUCT(&p->info);
537537
OPAL_LIST_DESTRUCT(&p->apps);
538538
}
539-
OBJ_CLASS_INSTANCE(pmix1_opalcaddy_t,
539+
OBJ_CLASS_INSTANCE(pmix_ext_opalcaddy_t,
540540
opal_object_t,
541541
ocadcon, ocaddes);

opal/mca/pmix/external/pmix_ext.h

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ typedef struct {
4747
opal_list_item_t super;
4848
opal_jobid_t jobid;
4949
char nspace[PMIX_MAX_NSLEN + 1];
50-
} opal_pmix1_jobid_trkr_t;
51-
OBJ_CLASS_DECLARATION(opal_pmix1_jobid_trkr_t);
50+
} opal_pmix_ext_jobid_trkr_t;
51+
OBJ_CLASS_DECLARATION(opal_pmix_ext_jobid_trkr_t);
5252

5353
typedef struct {
5454
opal_object_t super;
@@ -67,8 +67,8 @@ typedef struct {
6767
opal_pmix_lookup_cbfunc_t lkcbfunc;
6868
opal_pmix_spawn_cbfunc_t spcbfunc;
6969
void *cbdata;
70-
} pmix1_opcaddy_t;
71-
OBJ_CLASS_DECLARATION(pmix1_opcaddy_t);
70+
} pmix_ext_opcaddy_t;
71+
OBJ_CLASS_DECLARATION(pmix_ext_opcaddy_t);
7272

7373
typedef struct {
7474
opal_object_t super;
@@ -83,89 +83,89 @@ typedef struct {
8383
void *cbdata;
8484
opal_pmix_release_cbfunc_t odmdxfunc;
8585
void *ocbdata;
86-
} pmix1_opalcaddy_t;
87-
OBJ_CLASS_DECLARATION(pmix1_opalcaddy_t);
86+
} pmix_ext_opalcaddy_t;
87+
OBJ_CLASS_DECLARATION(pmix_ext_opalcaddy_t);
8888

8989

9090
/**** CLIENT FUNCTIONS ****/
91-
OPAL_MODULE_DECLSPEC int pmix1_client_init(void);
92-
OPAL_MODULE_DECLSPEC int pmix1_client_finalize(void);
93-
OPAL_MODULE_DECLSPEC int pmix1_initialized(void);
94-
OPAL_MODULE_DECLSPEC int pmix1_abort(int flag, const char *msg,
91+
OPAL_MODULE_DECLSPEC int pmix_ext_client_init(void);
92+
OPAL_MODULE_DECLSPEC int pmix_ext_client_finalize(void);
93+
OPAL_MODULE_DECLSPEC int pmix_ext_initialized(void);
94+
OPAL_MODULE_DECLSPEC int pmix_ext_abort(int flag, const char *msg,
9595
opal_list_t *procs);
96-
OPAL_MODULE_DECLSPEC int pmix1_commit(void);
97-
OPAL_MODULE_DECLSPEC int pmix1_fence(opal_list_t *procs, int collect_data);
98-
OPAL_MODULE_DECLSPEC int pmix1_fencenb(opal_list_t *procs, int collect_data,
96+
OPAL_MODULE_DECLSPEC int pmix_ext_commit(void);
97+
OPAL_MODULE_DECLSPEC int pmix_ext_fence(opal_list_t *procs, int collect_data);
98+
OPAL_MODULE_DECLSPEC int pmix_ext_fencenb(opal_list_t *procs, int collect_data,
9999
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
100-
OPAL_MODULE_DECLSPEC int pmix1_put(opal_pmix_scope_t scope,
100+
OPAL_MODULE_DECLSPEC int pmix_ext_put(opal_pmix_scope_t scope,
101101
opal_value_t *val);
102-
OPAL_MODULE_DECLSPEC int pmix1_get(const opal_process_name_t *proc, const char *key,
102+
OPAL_MODULE_DECLSPEC int pmix_ext_get(const opal_process_name_t *proc, const char *key,
103103
opal_list_t *info, opal_value_t **val);
104-
OPAL_MODULE_DECLSPEC int pmix1_getnb(const opal_process_name_t *proc, const char *key,
104+
OPAL_MODULE_DECLSPEC int pmix_ext_getnb(const opal_process_name_t *proc, const char *key,
105105
opal_list_t *info,
106106
opal_pmix_value_cbfunc_t cbfunc, void *cbdata);
107-
OPAL_MODULE_DECLSPEC int pmix1_publish(opal_list_t *info);
108-
OPAL_MODULE_DECLSPEC int pmix1_publishnb(opal_list_t *info,
107+
OPAL_MODULE_DECLSPEC int pmix_ext_publish(opal_list_t *info);
108+
OPAL_MODULE_DECLSPEC int pmix_ext_publishnb(opal_list_t *info,
109109
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
110-
OPAL_MODULE_DECLSPEC int pmix1_lookup(opal_list_t *data, opal_list_t *info);
111-
OPAL_MODULE_DECLSPEC int pmix1_lookupnb(char **keys, opal_list_t *info,
110+
OPAL_MODULE_DECLSPEC int pmix_ext_lookup(opal_list_t *data, opal_list_t *info);
111+
OPAL_MODULE_DECLSPEC int pmix_ext_lookupnb(char **keys, opal_list_t *info,
112112
opal_pmix_lookup_cbfunc_t cbfunc, void *cbdata);
113-
OPAL_MODULE_DECLSPEC int pmix1_unpublish(char **keys, opal_list_t *info);
114-
OPAL_MODULE_DECLSPEC int pmix1_unpublishnb(char **keys, opal_list_t *info,
113+
OPAL_MODULE_DECLSPEC int pmix_ext_unpublish(char **keys, opal_list_t *info);
114+
OPAL_MODULE_DECLSPEC int pmix_ext_unpublishnb(char **keys, opal_list_t *info,
115115
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
116-
OPAL_MODULE_DECLSPEC int pmix1_spawn(opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid);
117-
OPAL_MODULE_DECLSPEC int pmix1_spawnnb(opal_list_t *job_info, opal_list_t *apps,
116+
OPAL_MODULE_DECLSPEC int pmix_ext_spawn(opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid);
117+
OPAL_MODULE_DECLSPEC int pmix_ext_spawnnb(opal_list_t *job_info, opal_list_t *apps,
118118
opal_pmix_spawn_cbfunc_t cbfunc, void *cbdata);
119-
OPAL_MODULE_DECLSPEC int pmix1_connect(opal_list_t *procs);
120-
OPAL_MODULE_DECLSPEC int pmix1_connectnb(opal_list_t *procs,
119+
OPAL_MODULE_DECLSPEC int pmix_ext_connect(opal_list_t *procs);
120+
OPAL_MODULE_DECLSPEC int pmix_ext_connectnb(opal_list_t *procs,
121121
opal_pmix_op_cbfunc_t cbfunc,
122122
void *cbdata);
123-
OPAL_MODULE_DECLSPEC int pmix1_disconnect(opal_list_t *procs);
124-
OPAL_MODULE_DECLSPEC int pmix1_disconnectnb(opal_list_t *procs,
123+
OPAL_MODULE_DECLSPEC int pmix_ext_disconnect(opal_list_t *procs);
124+
OPAL_MODULE_DECLSPEC int pmix_ext_disconnectnb(opal_list_t *procs,
125125
opal_pmix_op_cbfunc_t cbfunc,
126126
void *cbdata);
127-
OPAL_MODULE_DECLSPEC int pmix1_resolve_peers(const char *nodename, opal_jobid_t jobid,
127+
OPAL_MODULE_DECLSPEC int pmix_ext_resolve_peers(const char *nodename, opal_jobid_t jobid,
128128
opal_list_t *procs);
129-
OPAL_MODULE_DECLSPEC int pmix1_resolve_nodes(opal_jobid_t jobid, char **nodelist);
129+
OPAL_MODULE_DECLSPEC int pmix_ext_resolve_nodes(opal_jobid_t jobid, char **nodelist);
130130

131131
/**** COMMON FUNCTIONS ****/
132-
OPAL_MODULE_DECLSPEC int pmix1_store_local(const opal_process_name_t *proc,
132+
OPAL_MODULE_DECLSPEC int pmix_ext_store_local(const opal_process_name_t *proc,
133133
opal_value_t *val);
134134

135135
/**** SERVER SOUTHBOUND FUNCTIONS ****/
136-
OPAL_MODULE_DECLSPEC int pmix1_server_init(opal_pmix_server_module_t *module,
136+
OPAL_MODULE_DECLSPEC int pmix_ext_server_init(opal_pmix_server_module_t *module,
137137
opal_list_t *info);
138-
OPAL_MODULE_DECLSPEC int pmix1_server_finalize(void);
139-
OPAL_MODULE_DECLSPEC int pmix1_server_gen_regex(const char *input, char **regex);
140-
OPAL_MODULE_DECLSPEC int pmix1_server_gen_ppn(const char *input, char **ppn);
141-
OPAL_MODULE_DECLSPEC int pmix1_server_register_nspace(opal_jobid_t jobid,
138+
OPAL_MODULE_DECLSPEC int pmix_ext_server_finalize(void);
139+
OPAL_MODULE_DECLSPEC int pmix_ext_server_gen_regex(const char *input, char **regex);
140+
OPAL_MODULE_DECLSPEC int pmix_ext_server_gen_ppn(const char *input, char **ppn);
141+
OPAL_MODULE_DECLSPEC int pmix_ext_server_register_nspace(opal_jobid_t jobid,
142142
int nlocalprocs,
143143
opal_list_t *info,
144144
opal_pmix_op_cbfunc_t cbfunc,
145145
void *cbdata);
146-
OPAL_MODULE_DECLSPEC void pmix1_server_deregister_nspace(opal_jobid_t jobid);
147-
OPAL_MODULE_DECLSPEC int pmix1_server_register_client(const opal_process_name_t *proc,
146+
OPAL_MODULE_DECLSPEC void pmix_ext_server_deregister_nspace(opal_jobid_t jobid);
147+
OPAL_MODULE_DECLSPEC int pmix_ext_server_register_client(const opal_process_name_t *proc,
148148
uid_t uid, gid_t gid,
149149
void *server_object,
150150
opal_pmix_op_cbfunc_t cbfunc,
151151
void *cbdata);
152-
OPAL_MODULE_DECLSPEC void pmix1_server_deregister_client(const opal_process_name_t *proc);
153-
OPAL_MODULE_DECLSPEC int pmix1_server_setup_fork(const opal_process_name_t *proc, char ***env);
154-
OPAL_MODULE_DECLSPEC int pmix1_server_dmodex(const opal_process_name_t *proc,
152+
OPAL_MODULE_DECLSPEC void pmix_ext_server_deregister_client(const opal_process_name_t *proc);
153+
OPAL_MODULE_DECLSPEC int pmix_ext_server_setup_fork(const opal_process_name_t *proc, char ***env);
154+
OPAL_MODULE_DECLSPEC int pmix_ext_server_dmodex(const opal_process_name_t *proc,
155155
opal_pmix_modex_cbfunc_t cbfunc, void *cbdata);
156-
OPAL_MODULE_DECLSPEC int pmix1_server_notify_error(int status,
156+
OPAL_MODULE_DECLSPEC int pmix_ext_server_notify_error(int status,
157157
opal_list_t *procs,
158158
opal_list_t *error_procs,
159159
opal_list_t *info,
160160
opal_pmix_op_cbfunc_t cbfunc, void *cbdata);
161161

162162

163163
/**** COMPONENT UTILITY FUNCTIONS ****/
164-
OPAL_MODULE_DECLSPEC pmix_status_t pmix1_convert_opalrc(int rc);
165-
OPAL_MODULE_DECLSPEC int pmix1_convert_rc(pmix_status_t rc);
166-
OPAL_MODULE_DECLSPEC void pmix1_value_load(pmix_value_t *v,
164+
OPAL_MODULE_DECLSPEC pmix_status_t pmix_ext_convert_opalrc(int rc);
165+
OPAL_MODULE_DECLSPEC int pmix_ext_convert_rc(pmix_status_t rc);
166+
OPAL_MODULE_DECLSPEC void pmix_ext_value_load(pmix_value_t *v,
167167
opal_value_t *kv);
168-
OPAL_MODULE_DECLSPEC int pmix1_value_unload(opal_value_t *kv,
168+
OPAL_MODULE_DECLSPEC int pmix_ext_value_unload(opal_value_t *kv,
169169
const pmix_value_t *v);
170170

171171
END_C_DECLS

0 commit comments

Comments
 (0)