|
14 | 14 | #include "ompi/mca/coll/base/coll_base_functions.h"
|
15 | 15 | #include <math.h>
|
16 | 16 |
|
| 17 | +typedef int (*ompi_mca_coll_adapt_ibcast_function_t)(IBCAST_ARGS); |
| 18 | +typedef int (*ompi_mca_coll_adapt_ireduce_function_t)(IREDUCE_ARGS); |
| 19 | + |
17 | 20 | typedef struct ompi_coll_adapt_algorithm_index_s {
|
18 | 21 | int algorithm_index;
|
19 |
| - uintptr_t algorithm_fn_ptr; |
| 22 | + union { |
| 23 | + ompi_mca_coll_adapt_ibcast_function_t ibcast_fn_ptr; |
| 24 | + ompi_mca_coll_adapt_ireduce_function_t ireduce_fn_ptr; |
| 25 | + }; |
20 | 26 | } ompi_coll_adapt_algorithm_index_t;
|
21 | 27 |
|
22 | 28 | /* Bcast */
|
23 | 29 | int ompi_coll_adapt_ibcast_register(void);
|
24 | 30 | int ompi_coll_adapt_ibcast_fini(void);
|
25 | 31 | int ompi_coll_adapt_bcast(BCAST_ARGS);
|
26 | 32 | int ompi_coll_adapt_ibcast(IBCAST_ARGS);
|
27 |
| -int ompi_coll_adapt_ibcast_generic(IBCAST_ARGS, |
28 |
| - ompi_coll_tree_t * tree, size_t seg_size); |
29 |
| -int ompi_coll_adapt_ibcast_binomial(IBCAST_ARGS); |
30 |
| -int ompi_coll_adapt_ibcast_in_order_binomial(IBCAST_ARGS); |
31 |
| -int ompi_coll_adapt_ibcast_binary(IBCAST_ARGS); |
32 |
| -int ompi_coll_adapt_ibcast_pipeline(IBCAST_ARGS); |
33 |
| -int ompi_coll_adapt_ibcast_chain(IBCAST_ARGS); |
34 |
| -int ompi_coll_adapt_ibcast_linear(IBCAST_ARGS); |
35 |
| -int ompi_coll_adapt_ibcast_tuned(IBCAST_ARGS); |
36 | 33 |
|
37 | 34 | /* Reduce */
|
38 | 35 | int ompi_coll_adapt_ireduce_register(void);
|
39 | 36 | int ompi_coll_adapt_ireduce_fini(void);
|
40 | 37 | int ompi_coll_adapt_reduce(REDUCE_ARGS);
|
41 | 38 | int ompi_coll_adapt_ireduce(IREDUCE_ARGS);
|
42 |
| -int ompi_coll_adapt_ireduce_generic(IREDUCE_ARGS, |
43 |
| - ompi_coll_tree_t * tree, size_t seg_size); |
44 |
| -int ompi_coll_adapt_ireduce_tuned(IREDUCE_ARGS); |
45 |
| -int ompi_coll_adapt_ireduce_binomial(IREDUCE_ARGS); |
46 |
| -int ompi_coll_adapt_ireduce_in_order_binomial(IREDUCE_ARGS); |
47 |
| -int ompi_coll_adapt_ireduce_binary(IREDUCE_ARGS); |
48 |
| -int ompi_coll_adapt_ireduce_pipeline(IREDUCE_ARGS); |
49 |
| -int ompi_coll_adapt_ireduce_chain(IREDUCE_ARGS); |
50 |
| -int ompi_coll_adapt_ireduce_linear(IREDUCE_ARGS); |
| 39 | + |
0 commit comments