OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

btl_udapl.h
Go to the documentation of this file.
1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /*
3 * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
4 * University Research and Technology
5 * Corporation. All rights reserved.
6 * Copyright (c) 2004-2009 The University of Tennessee and The University
7 * of Tennessee Research Foundation. All rights
8 * reserved.
9 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10 * University of Stuttgart. All rights reserved.
11 * Copyright (c) 2004-2005 The Regents of the University of California.
12 * All rights reserved.
13 * Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved.
14 * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
15 *
16 * $COPYRIGHT$
17 *
18 * Additional copyrights may follow
19 *
20 * $HEADER$
21 */
22 /**
23 * @file
24 */
25 #ifndef MCA_BTL_UDAPL_H
26 #define MCA_BTL_UDAPL_H
27
28 #include "ompi_config.h"
29 #include <sys/types.h>
30 #include <string.h>
31 #include <dat/udat.h>
32
33 /* Open MPI includes */
34 #include "opal/class/opal_pointer_array.h"
35 #include "opal/mca/event/event.h"
36 #include "ompi/class/ompi_free_list.h"
37 #include "ompi/mca/btl/btl.h"
38 #include "ompi/mca/btl/base/base.h"
39 #include "ompi/mca/btl/base/btl_base_error.h"
40 #include "orte/util/show_help.h"
41 #include "ompi/mca/mpool/mpool.h"
42 #include "ompi/mca/btl/btl.h"
43 #include "btl_udapl_endpoint.h"
44
45 BEGIN_C_DECLS
46
47
48 /**
49 * uDAPL BTL component.
50 */
51
52 struct mca_btl_udapl_component_t {
53 mca_btl_base_component_2_0_0_t super; /**< base BTL component */
54
55 int32_t udapl_verbosity; /**< report out level, see
56 "Report Out from uDAPL BTL" below for details. */
57 size_t udapl_num_btls; /**< number of hcas available to the uDAPL component */
58 size_t udapl_max_btls; /**< maximum number of supported hcas */
59 struct mca_btl_udapl_module_t **udapl_btls; /**< array of available BTL modules */
60 int32_t udapl_num_recvs; /**< number of recv buffers to keep posted */
61 int32_t udapl_num_sends; /**< number of sends to post on endpoint */
62 int32_t udapl_sr_win; /**< number of fragments recieved before
63 returning credits to sender */
64 uint32_t udapl_timeout; /**< connection timeout, in microseconds */
65 size_t udapl_eager_frag_size;
66 size_t udapl_max_frag_size;
67 size_t udapl_eager_rdma_frag_size; /* size of the rdma fragement including data
68 * payload space
69 */
70
71 int udapl_free_list_num; /**< initial size of free lists */
72 int udapl_free_list_max; /**< maximum size of free lists */
73 int udapl_free_list_inc; /**< number of elements to alloc when growing */
74 int32_t udapl_use_eager_rdma; /**< turn rdma for small msgs on/off */
75 int32_t udapl_eager_rdma_num; /**< number of rdma buffers allocated
76 for short messages */
77 int32_t udapl_max_eager_rdma_peers; /**< maximum number of peers allowed to
78 use RDMA for short messages (cap)
79 */
80 int32_t udapl_eager_rdma_win; /**< number of eager RDMA fragments
81 recieved before returning credits to
82 sender */
83 int32_t udapl_conn_priv_data; /**< use connect priv data for proc data */
84 int32_t udapl_async_events; /**< dequeue asynchronous events */
85 int32_t udapl_buffer_alignment; /**< preferred communication buffer alignment, in bytes */
86 opal_list_t udapl_procs; /**< list of udapl proc structures */
87 opal_mutex_t udapl_lock; /**< lock for accessing module state */
88 char* udapl_mpool_name; /**< name of memory pool */
89 int32_t udapl_compare_subnet;/**< whether to compare with netmask or not */
90 char *if_include;
91 char **if_include_list;
92 char *if_exclude;
93 char **if_exclude_list;
94 char **if_list; /* used for checking entries not found */
95 int32_t ro_aware_system; /* default 0; 1 if relaxed ordered platform */
96 };
97 typedef struct mca_btl_udapl_component_t mca_btl_udapl_component_t;
98
99 OMPI_MODULE_DECLSPEC extern mca_btl_udapl_component_t mca_btl_udapl_component;
100
101
102
103 /**
104 * BTL Module Interface
105 */
106 struct mca_btl_udapl_module_t {
107 mca_btl_base_module_t super; /**< base BTL interface */
108 mca_btl_udapl_addr_t udapl_addr;
109
110 /* uDAPL interface and other handles */
111 DAT_IA_HANDLE udapl_ia;
112 DAT_PZ_HANDLE udapl_pz;
113 DAT_PSP_HANDLE udapl_psp;
114 DAT_IA_ATTR udapl_ia_attr;
115
116 /* event dispatchers - async, data transfer, connection negotiation */
117 DAT_EVD_HANDLE udapl_evd_async;
118 DAT_EVD_HANDLE udapl_evd_dto;
119 DAT_EVD_HANDLE udapl_evd_conn;
120 DAT_EP_PARAM udapl_ep_param;
121
122 /* free list of fragment descriptors */
123 ompi_free_list_t udapl_frag_eager;
124 ompi_free_list_t udapl_frag_eager_recv;
125 ompi_free_list_t udapl_frag_max;
126 ompi_free_list_t udapl_frag_max_recv;
127 ompi_free_list_t udapl_frag_user;
128 ompi_free_list_t udapl_frag_control;
129
130 opal_mutex_t udapl_lock; /* lock for accessing module state */
131 opal_mutex_t udapl_eager_rdma_lock; /* eager rdma lock */
132 int32_t udapl_eager_rdma_endpoint_count; /* count of the number of
133 * endpoints in
134 * udapl_eager_rdma_endpoints
135 */
136 opal_pointer_array_t *udapl_eager_rdma_endpoints; /* array of endpoints
137 * with eager rdma
138 * connections
139 */
140 int32_t udapl_async_events;
141 int32_t udapl_connect_inprogress;
142 int32_t udapl_num_peers;
143
144 /* module specific limits */
145 int udapl_async_evd_qlen;
146 int udapl_conn_evd_qlen;
147 int udapl_dto_evd_qlen;
148 int udapl_max_request_dtos; /**< maximum number of outstanding consumer
149 submitted sends and rdma operations, see
150 section 6.6.6 of uDAPL Spec */
151 int udapl_max_recv_dtos; /**< maximum number of outstanding consumer
152 submitted recv operations, see section
153 6.6.6 of uDAPL Spec */
154 uint32_t udapl_if_mask; /**< netmask value btl module */
155 };
156 typedef struct mca_btl_udapl_module_t mca_btl_udapl_module_t;
157 extern mca_btl_udapl_module_t mca_btl_udapl_module;
158
159 struct mca_btl_udapl_reg_t {
160 mca_mpool_base_registration_t base;
161 DAT_LMR_HANDLE lmr; /* local memory region (LMR) */
162 DAT_LMR_TRIPLET lmr_triplet; /* LMR triplet - context, address, length */
163 DAT_RMR_CONTEXT rmr_context; /* remote memory region context handle */
164
165 };
166 typedef struct mca_btl_udapl_reg_t mca_btl_udapl_reg_t;
167
168 /**
169 * Report Out from uDAPL BTL
170 *
171 * - BTL_ERROR() : Use to report out errors from uDAPL BTL. These are
172 * critical errors which will most likely cause the program to fail so
173 * this message should always be reported to the user. Defined in
174 * btl/base/btl_base_error.h.
175 * Example:
176 * dat_strerror(rc, (const char**)&major, (const char**)&minor);
177 * BTL_ERROR(("ERROR: %s %s %s\n", "dat_cr_accept", major, minor));
178 *
179 * - BTL_UDAPL_VERBOSE_OUTPUT() : Use to output different levels
180 * of verbosity to the user. See Note below.
181 * Example:
182 * BTL_UDAPL_VERBOSE_OUTPUT(VERBOSE_DIAGNOSE,
183 * ("WARNING: don't %s", "jump"));
184 *
185 * - BTL_UDAPL_VERBOSE_HELP() : Use output information as defined in
186 * uDAPL BTL help file (help-mpi-btl-udapl.txt). See Note below.
187 * Example:
188 * BTL_UDAPL_VERBOSE_HELP(VERBOSE_SHOW_HELP,
189 * ("help-mpi-btl-udapl.txt",
190 * "invalid num rdma segments", true, 22));
191 *
192 * Note : - Verbose levels are defined below. These levels are
193 * controlled by the mca parameter "btl_udapl_verbose".
194 * The verbose level is set to 10 by default so that critical
195 * error and useful help information will appear. Which ever value
196 * this param is set to, those messages as well as any lower level
197 * verbose messages will be reported.
198 * - Setting "btl_udapl_verbose" to "-1" will turn off all
199 * messages reported by the use of BTL_UDAPL_VERBOSE_*().
200 * - These macros should not be used in a critical path as they
201 * are always included in the compiled code.
202 * - These macros rely on the use of paranthesis around the "args"
203 * value.
204 *
205 * Values used with BTL_UDAPL_VERBOSE_*():
206 *
207 * - 0: critical user information; should always be reported;
208 * on by default
209 * - 10: useful help messages that would be reported from
210 * "help-mpi-btl-udapl.txt"; accessed from
211 * BTL_UDAPL_VERBOSE_HELP(); on by default
212 * - 20: general execution diagnostic information;
213 * may be useful to user or btl developer
214 * - 30: basic debugging/diagnostic information
215 * - 90: useful only to developers
216 * - 100: other components do not appear to go beyond 100 for verbose
217 * levels so noting here as the max for future reference
218 */
219 #define VERBOSE_CRITICAL 0
220 #define VERBOSE_SHOW_HELP 10
221 #define VERBOSE_INFORM 20
222 #define VERBOSE_DIAGNOSE 30
223 #define VERBOSE_DEVELOPER 90
224
225 #define BTL_UDAPL_VERBOSE_OUTPUT(verbose_level, args) \
226 do { \
227 if (verbose_level <= mca_btl_udapl_component.udapl_verbosity) { \
228 BTL_OUTPUT(args); \
229 } \
230 } while(0);
231
232 #define BTL_UDAPL_VERBOSE_HELP(verbose_level, args) \
233 do { \
234 if (verbose_level <= mca_btl_udapl_component.udapl_verbosity) { \
235 orte_show_help args; \
236 } \
237 } while(0);
238
239
240 /*
241 * Report a uDAPL error - for debugging
242 */
243
244 #if OPAL_ENABLE_DEBUG
245 extern void mca_btl_udapl_error(DAT_RETURN ret, char* str);
246
247 #define MCA_BTL_UDAPL_ERROR(ret, str) \
248 mca_btl_udapl_error((ret), (str));
249
250 #else
251 #define MCA_BTL_UDAPL_ERROR(ret, str)
252 #endif
253
254
255 /**
256 * Register uDAPL component parameters with the MCA framework
257 */
258 extern int mca_btl_udapl_component_open(void);
259
260 /**
261 * Any final cleanup before being unloaded.
262 */
263 extern int mca_btl_udapl_component_close(void);
264
265 /**
266 * uDAPL component initialization.
267 *
268 * @param num_btl_modules (OUT) Number of BTLs returned in BTL array.
269 * @param allow_multi_user_threads (OUT) Flag indicating wether BTL supports user threads (TRUE)
270 * @param have_hidden_threads (OUT) Flag indicating wether BTL uses threads (TRUE)
271 */
272 extern mca_btl_base_module_t** mca_btl_udapl_component_init(
273 int *num_btl_modules,
274 bool allow_multi_user_threads,
275 bool have_hidden_threads
276 );
277
278
279 /**
280 * uDAPL component progress.
281 */
282
283 extern int mca_btl_udapl_component_progress(void);
284
285
286 /**
287 * Initialize resources for a new BTL/uDAPL IA
288 *
289 * @param ia_name Name of uDAPL interface adapter
290 * @param btl BTL instance.
291 * @return OMPI_SUCCESS or error status on failure.
292 */
293
294 extern int mca_btl_udapl_init(
295 DAT_NAME_PTR ia_name,
296 struct mca_btl_udapl_module_t* btl
297 );
298
299
300 /**
301 * Cleanup any resources held by the BTL.
302 *
303 * @param btl BTL instance.
304 * @return OMPI_SUCCESS or error status on failure.
305 */
306
307 extern int mca_btl_udapl_finalize(
308 struct mca_btl_base_module_t* btl
309 );
310
311
312 /**
313 * PML->BTL notification of change in the process list.
314 *
315 * @param btl (IN)
316 * @param nprocs (IN) Number of processes
317 * @param procs (IN) Set of processes
318 * @param peers (OUT) Set of (optional) peer addressing info.
319 * @param peers (IN/OUT) Set of processes that are reachable via this BTL.
320 * @return OMPI_SUCCESS or error status on failure.
321 *
322 */
323
324 extern int mca_btl_udapl_add_procs(
325 struct mca_btl_base_module_t* btl,
326 size_t nprocs,
327 struct ompi_proc_t **procs,
328 struct mca_btl_base_endpoint_t** peers,
329 opal_bitmap_t* reachable
330 );
331
332 /**
333 * PML->BTL notification of change in the process list.
334 *
335 * @param btl (IN) BTL instance
336 * @param nproc (IN) Number of processes.
337 * @param procs (IN) Set of processes.
338 * @param peers (IN) Set of peer data structures.
339 * @return Status indicating if cleanup was successful
340 *
341 */
342
343 extern int mca_btl_udapl_del_procs(
344 struct mca_btl_base_module_t* btl,
345 size_t nprocs,
346 struct ompi_proc_t **procs,
347 struct mca_btl_base_endpoint_t** peers
348 );
349
350
351 /**
352 * Initiate an asynchronous send.
353 *
354 * @param btl (IN) BTL module
355 * @param endpoint (IN) BTL addressing information
356 * @param descriptor (IN) Description of the data to be transferred
357 * @param tag (IN) The tag value used to notify the peer.
358 */
359
360 extern int mca_btl_udapl_send(
361 struct mca_btl_base_module_t* btl,
362 struct mca_btl_base_endpoint_t* btl_peer,
363 struct mca_btl_base_descriptor_t* descriptor,
364 mca_btl_base_tag_t tag
365 );
366
367
368 /**
369 * Initiate an asynchronous put.
370 *
371 * @param btl (IN) BTL module
372 * @param endpoint (IN) BTL addressing information
373 * @param descriptor (IN) Description of the data to be transferred
374 */
375
376 extern int mca_btl_udapl_put(
377 struct mca_btl_base_module_t* btl,
378 struct mca_btl_base_endpoint_t* btl_peer,
379 struct mca_btl_base_descriptor_t* decriptor
380 );
381
382
383 /**
384 * Initiate an asynchronous get.
385 *
386 * @param btl (IN) BTL module
387 * @param endpoint (IN) BTL addressing information
388 * @param descriptor (IN) Description of the data to be transferred
389 */
390
391 extern int mca_btl_udapl_get(
392 struct mca_btl_base_module_t* btl,
393 struct mca_btl_base_endpoint_t* btl_peer,
394 struct mca_btl_base_descriptor_t* decriptor
395 );
396
397 /**
398 * Allocate a descriptor with a segment of the requested size.
399 * Note that the BTL layer may choose to return a smaller size
400 * if it cannot support the request.
401 *
402 * @param btl (IN) BTL module
403 * @param size (IN) Request segment size.
404 */
405
406 extern mca_btl_base_descriptor_t* mca_btl_udapl_alloc(
407 struct mca_btl_base_module_t* btl,
408 struct mca_btl_base_endpoint_t* endpoint,
409 uint8_t order,
410 size_t size,
411 uint32_t flags);
412
413
414 /**
415 * Return a segment allocated by this BTL.
416 *
417 * @param btl (IN) BTL module
418 * @param descriptor (IN) Allocated descriptor.
419 */
420
421 extern int mca_btl_udapl_free(
422 struct mca_btl_base_module_t* btl,
423 mca_btl_base_descriptor_t* des);
424
425
426 /**
427 * Prepare a descriptor for send/rdma using the supplied
428 * convertor. If the convertor references data that is contigous,
429 * the descriptor may simply point to the user buffer. Otherwise,
430 * this routine is responsible for allocating buffer space and
431 * packing if required.
432 *
433 * @param btl (IN) BTL module
434 * @param endpoint (IN) BTL peer addressing
435 * @param convertor (IN) Data type convertor
436 * @param reserve (IN) Additional bytes requested by upper layer to precede user data
437 * @param size (IN/OUT) Number of bytes to prepare (IN), number of bytes actually prepared (OUT)
438 */
439
440 mca_btl_base_descriptor_t* mca_btl_udapl_prepare_src(
441 struct mca_btl_base_module_t* btl,
442 struct mca_btl_base_endpoint_t* peer,
443 struct mca_mpool_base_registration_t*,
444 struct opal_convertor_t* convertor,
445 uint8_t order,
446 size_t reserve,
447 size_t* size,
448 uint32_t flags
449 );
450
451 extern mca_btl_base_descriptor_t* mca_btl_udapl_prepare_dst(
452 struct mca_btl_base_module_t* btl,
453 struct mca_btl_base_endpoint_t* peer,
454 struct mca_mpool_base_registration_t*,
455 struct opal_convertor_t* convertor,
456 uint8_t order,
457 size_t reserve,
458 size_t* size,
459 uint32_t flags);
460
461 /**
462 * Fault Tolerance Event Notification Function
463 * @param state Checkpoint Stae
464 * @return OMPI_SUCCESS or failure status
465 */
466 int mca_btl_udapl_ft_event(int state);
467
468 END_C_DECLS
469 #endif
mca_btl_udapl_component_close
int mca_btl_udapl_component_close(void)
Any final cleanup before being unloaded.
Definition: btl_udapl_component.c:225
mca_btl_udapl_get
int mca_btl_udapl_get(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *decriptor)
Initiate an asynchronous get.
Definition: btl_udapl.c:1318
mca_btl_udapl_ft_event
int mca_btl_udapl_ft_event(int state)
Fault Tolerance Event Notification Function.
Definition: btl_udapl.c:1327
mca_btl_udapl_component_t::udapl_eager_rdma_num
int32_t udapl_eager_rdma_num
number of rdma buffers allocated for short messages
Definition: btl_udapl.h:75
mca_btl_udapl_component_t::udapl_lock
opal_mutex_t udapl_lock
lock for accessing module state
Definition: btl_udapl.h:87
show_help.h
Populates global structure with system-specific information.
mca_btl_base_descriptor_t
A descriptor that holds the parameters to a send/put/get operation along w/ a callback routine that i...
Definition: btl.h:275
opal_pointer_array_t
dynamic pointer array
Definition: opal_pointer_array.h:45
opal_bitmap_t
Definition: opal_bitmap.h:53
mca_btl_udapl_component_t::udapl_sr_win
int32_t udapl_sr_win
number of fragments recieved before returning credits to sender
Definition: btl_udapl.h:62
mca_btl_udapl_prepare_dst
mca_btl_base_descriptor_t * mca_btl_udapl_prepare_dst(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *peer, struct mca_mpool_base_registration_t *, struct opal_convertor_t *convertor, uint8_t order, size_t reserve, size_t *size, uint32_t flags)
Prepare a descriptor for send/rdma using the supplied convertor.
Definition: btl_udapl.c:1149
mca_btl_udapl_prepare_src
mca_btl_base_descriptor_t * mca_btl_udapl_prepare_src(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *peer, struct mca_mpool_base_registration_t *, struct opal_convertor_t *convertor, uint8_t order, size_t reserve, size_t *size, uint32_t flags)
Prepare a descriptor for send/rdma using the supplied convertor.
Definition: btl_udapl.c:1019
mca_btl_udapl_component_t::super
mca_btl_base_component_2_0_0_t super
base BTL component
Definition: btl_udapl.h:53
mca_btl_udapl_component_t::udapl_btls
struct mca_btl_udapl_module_t ** udapl_btls
array of available BTL modules
Definition: btl_udapl.h:59
mca_btl_udapl_component_t::udapl_max_eager_rdma_peers
int32_t udapl_max_eager_rdma_peers
maximum number of peers allowed to use RDMA for short messages (cap)
Definition: btl_udapl.h:77
opal_mutex_t
Definition: mutex_unix.h:53
mca_btl_udapl_send
int mca_btl_udapl_send(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *descriptor, mca_btl_base_tag_t tag)
Initiate an asynchronous send.
Definition: btl_udapl.c:1209
mca_btl_udapl_component_t::udapl_num_sends
int32_t udapl_num_sends
number of sends to post on endpoint
Definition: btl_udapl.h:61
mca_btl_udapl_addr_t
Structure used to publish uDAPL id information to peers.
Definition: btl_udapl_endpoint.h:50
mca_btl_udapl_add_procs
int mca_btl_udapl_add_procs(struct mca_btl_base_module_t *btl, size_t nprocs, struct ompi_proc_t **procs, struct mca_btl_base_endpoint_t **peers, opal_bitmap_t *reachable)
PML->BTL notification of change in the process list.
Definition: btl_udapl.c:854
mca_mpool_base_registration_t
Definition: mpool.h:44
opal_pointer_array.h
See opal_bitmap.h for an explanation of why there is a split between OPAL and ORTE for this generic c...
ompi_proc_t
Remote Open MPI process structure.
Definition: proc.h:56
mca_btl_udapl_component_t::udapl_free_list_inc
int udapl_free_list_inc
number of elements to alloc when growing
Definition: btl_udapl.h:73
mca_btl_udapl_module_t::udapl_if_mask
uint32_t udapl_if_mask
netmask value btl module
Definition: btl_udapl.h:154
mca_btl_udapl_free
int mca_btl_udapl_free(struct mca_btl_base_module_t *btl, mca_btl_base_descriptor_t *des)
Return a segment allocated by this BTL.
Definition: btl_udapl.c:987
mca_btl_udapl_component_t::udapl_free_list_max
int udapl_free_list_max
maximum size of free lists
Definition: btl_udapl.h:72
mca_btl_udapl_component_t::udapl_buffer_alignment
int32_t udapl_buffer_alignment
preferred communication buffer alignment, in bytes
Definition: btl_udapl.h:85
mca_btl_udapl_put
int mca_btl_udapl_put(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *btl_peer, struct mca_btl_base_descriptor_t *decriptor)
Initiate an asynchronous put.
Definition: btl_udapl.c:1238
mca_btl_udapl_component_t::udapl_verbosity
int32_t udapl_verbosity
report out level, see "Report Out from uDAPL BTL" below for details.
Definition: btl_udapl.h:55
mca_btl_udapl_component_t
uDAPL BTL component.
Definition: btl_udapl.h:52
mca_btl_udapl_finalize
int mca_btl_udapl_finalize(struct mca_btl_base_module_t *btl)
Cleanup any resources held by the BTL.
Definition: btl_udapl.c:496
mca_btl_udapl_component_t::udapl_use_eager_rdma
int32_t udapl_use_eager_rdma
turn rdma for small msgs on/off
Definition: btl_udapl.h:74
mca_btl_udapl_module_t::super
mca_btl_base_module_t super
base BTL interface
Definition: btl_udapl.h:107
mca_btl_udapl_reg_t
Definition: btl_udapl.h:159
mca_btl_udapl_component_open
int mca_btl_udapl_component_open(void)
Register uDAPL component parameters with the MCA framework.
Definition: btl_udapl_component.c:185
mca_btl_udapl_alloc
mca_btl_base_descriptor_t * mca_btl_udapl_alloc(struct mca_btl_base_module_t *btl, struct mca_btl_base_endpoint_t *endpoint, uint8_t order, size_t size, uint32_t flags)
Allocate a descriptor with a segment of the requested size.
Definition: btl_udapl.c:929
btl.h
Byte Transfer Layer (BTL)
mca_btl_udapl_module_t
BTL Module Interface.
Definition: btl_udapl.h:106
mca_btl_udapl_component_t::udapl_timeout
uint32_t udapl_timeout
connection timeout, in microseconds
Definition: btl_udapl.h:64
ompi_free_list_t
Definition: ompi_free_list.h:39
mca_btl_udapl_component_init
mca_btl_base_module_t ** mca_btl_udapl_component_init(int *num_btl_modules, bool allow_multi_user_threads, bool have_hidden_threads)
uDAPL component initialization.
Definition: btl_udapl_component.c:436
mca_btl_udapl_component_t::udapl_procs
opal_list_t udapl_procs
list of udapl proc structures
Definition: btl_udapl.h:86
mca_btl_udapl_init
int mca_btl_udapl_init(DAT_NAME_PTR ia_name, struct mca_btl_udapl_module_t *btl)
Initialize resources for a new BTL/uDAPL IA.
Definition: btl_udapl.c:145
mca_btl_base_endpoint_t
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
mca_btl_base_component_2_0_0_t
BTL component descriptor.
Definition: btl.h:411
mpool.h
Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana University Research and Techno...
opal_convertor_t
Definition: opal_convertor.h:90
mca_btl_udapl_component_t::udapl_free_list_num
int udapl_free_list_num
initial size of free lists
Definition: btl_udapl.h:71
opal_list_t
Definition: opal_list.h:147
mca_btl_udapl_del_procs
int mca_btl_udapl_del_procs(struct mca_btl_base_module_t *btl, size_t nprocs, struct ompi_proc_t **procs, struct mca_btl_base_endpoint_t **peers)
PML->BTL notification of change in the process list.
Definition: btl_udapl.c:912
mca_btl_udapl_component_t::udapl_conn_priv_data
int32_t udapl_conn_priv_data
use connect priv data for proc data
Definition: btl_udapl.h:83
mca_btl_udapl_component_t::udapl_num_recvs
int32_t udapl_num_recvs
number of recv buffers to keep posted
Definition: btl_udapl.h:60
base.h
mca_btl_udapl_component_progress
int mca_btl_udapl_component_progress(void)
uDAPL component progress.
Definition: btl_udapl_component.c:834
mca_btl_udapl_component_t::udapl_max_btls
size_t udapl_max_btls
maximum number of supported hcas
Definition: btl_udapl.h:58
mca_btl_udapl_module_t::udapl_max_recv_dtos
int udapl_max_recv_dtos
maximum number of outstanding consumer submitted recv operations, see section 6.6.6 of uDAPL Spec
Definition: btl_udapl.h:151
mca_btl_udapl_component_t::udapl_async_events
int32_t udapl_async_events
dequeue asynchronous events
Definition: btl_udapl.h:84
mca_btl_udapl_component_t::udapl_eager_rdma_win
int32_t udapl_eager_rdma_win
number of eager RDMA fragments recieved before returning credits to sender
Definition: btl_udapl.h:80
mca_btl_base_module_t
BTL module interface functions and attributes.
Definition: btl.h:786
mca_btl_udapl_component_t::udapl_mpool_name
char * udapl_mpool_name
name of memory pool
Definition: btl_udapl.h:88
mca_btl_udapl_module_t::udapl_max_request_dtos
int udapl_max_request_dtos
maximum number of outstanding consumer submitted sends and rdma operations, see section 6...
Definition: btl_udapl.h:148
mca_btl_udapl_component_t::udapl_compare_subnet
int32_t udapl_compare_subnet
whether to compare with netmask or not
Definition: btl_udapl.h:89
mca_btl_udapl_component_t::udapl_num_btls
size_t udapl_num_btls
number of hcas available to the uDAPL component
Definition: btl_udapl.h:57