@@ -60,10 +60,8 @@ typedef struct mca_coll_ucx_component {
60
60
bool enable_topo_map ;
61
61
62
62
/* UCX global objects */
63
- ucp_context_h ucp_context ;
64
- ucp_worker_h ucp_worker ;
65
63
ucg_context_h ucg_context ;
66
- ucg_group_h ucg_group ;
64
+ ucg_worker_h ucg_worker ;
67
65
int output ;
68
66
ucs_list_link_t group_head ;
69
67
char * * topo_map ;
@@ -94,16 +92,37 @@ typedef struct mca_coll_ucx_module {
94
92
} mca_coll_ucx_module_t ;
95
93
OBJ_CLASS_DECLARATION (mca_coll_ucx_module_t );
96
94
95
+ /*
96
+ * Component-oriented functions for using UCX collectives.
97
+ */
98
+ int mca_coll_ucx_open (void );
99
+ int mca_coll_ucx_close (void );
100
+ int mca_coll_ucx_init (void );
101
+ void mca_coll_ucx_cleanup (void );
102
+ int mca_coll_ucx_enable (bool enable );
103
+ int mca_coll_ucx_progress (void );
104
+
97
105
/*
98
106
* TESTING PURPOSES: get the worker from the module.
99
107
*/
100
- ucp_worker_h mca_coll_ucx_get_component_worker (void );
108
+ ucg_worker_h mca_coll_ucx_get_component_worker (void );
101
109
102
110
/*
103
111
* Start persistent collectives from an array of requests.
104
112
*/
105
113
int mca_coll_ucx_start (size_t count , ompi_request_t * * requests );
106
114
115
+ /*
116
+ * Obtain the address for a remote node.
117
+ */
118
+ ucs_status_t mca_coll_ucx_resolve_address (void * cb_group_obj , ucg_group_member_index_t idx , ucg_address_t * * addr ,
119
+ size_t * addr_len );
120
+
121
+ /*
122
+ * Release an obtained address for a remote node.
123
+ */
124
+ void mca_coll_ucx_release_address (ucg_address_t * addr );
125
+
107
126
/*
108
127
* The collective operations themselves.
109
128
*/
0 commit comments