- Renamed the main struct to "module", and rename the "actions" struct
to the main struct - Rename the prefixes This commit was SVN r168.
Этот коммит содержится в:
родитель
30fadd26c6
Коммит
513e693cfa
@ -18,12 +18,12 @@
|
||||
*/
|
||||
|
||||
typedef int (*mca_coll_thread_query_fn_t)(int *thread_min, int *thread_max);
|
||||
typedef const struct mca_coll_actions_1_0_0 *
|
||||
typedef const struct mca_coll_1_0_0 *
|
||||
(*mca_coll_query_1_0_0_fn_t)(MPI_Comm comm, int *priority);
|
||||
|
||||
typedef int
|
||||
(*mca_coll_init_1_0_0_fn_t)
|
||||
(MPI_Comm comm, const struct mca_coll_actions_1_0_0 **new_actions);
|
||||
(MPI_Comm comm, const struct mca_coll_1_0_0 **new_coll);
|
||||
typedef int (*mca_coll_finalize_fn_t)(MPI_Comm comm);
|
||||
|
||||
typedef int (*mca_coll_checkpoint_fn_t)(MPI_Comm comm);
|
||||
@ -98,97 +98,98 @@ typedef int (*mca_coll_scatterv_fn_t)(void *sbuf, int *scounts,
|
||||
* Ver 1.0.0
|
||||
*/
|
||||
|
||||
typedef struct mca_coll_1_0_0 {
|
||||
mca_t mc_meta_info;
|
||||
typedef struct mca_coll_module_1_0_0 {
|
||||
mca_1_0_0_t super;
|
||||
|
||||
/* Initialization / querying functions */
|
||||
|
||||
mca_coll_thread_query_fn_t mc_thread_query;
|
||||
mca_coll_query_1_0_0_fn_t mc_query;
|
||||
mca_coll_thread_query_fn_t collm_thread_query;
|
||||
mca_coll_query_1_0_0_fn_t collm_query;
|
||||
mca_coll_finalize_fn_t collm_finalize;
|
||||
|
||||
/* Flags */
|
||||
|
||||
int mc_has_checkpoint;
|
||||
int collm_has_checkpoint;
|
||||
} mca_coll_module_1_0_0_t;
|
||||
|
||||
|
||||
/*
|
||||
* This struct is hung on the communicator by the winning coll module
|
||||
* after the negotiation. It has pointers for all the collective
|
||||
* functions, as well as a "finalize" function for when the
|
||||
* communicator is freed.
|
||||
*/
|
||||
|
||||
typedef struct mca_coll_1_0_0 {
|
||||
|
||||
/* Per-communicator initialization and finalization functions */
|
||||
|
||||
mca_coll_init_1_0_0_fn_t coll_init;
|
||||
mca_coll_finalize_fn_t coll_finalize;
|
||||
|
||||
/* Checkpoint / restart functions */
|
||||
|
||||
mca_coll_checkpoint_fn_t coll_checkpoint;
|
||||
mca_coll_continue_fn_t coll_continue;
|
||||
mca_coll_restart_fn_t coll_restart;
|
||||
mca_coll_interrupt_fn_t coll_interrupt;
|
||||
|
||||
/* Collective function pointers */
|
||||
|
||||
mca_coll_allgather_fn_t coll_allgather_intra;
|
||||
mca_coll_allgather_fn_t coll_allgather_inter;
|
||||
|
||||
mca_coll_allgatherv_fn_t coll_allgatherv_intra;
|
||||
mca_coll_allgatherv_fn_t coll_allgatherv_inter;
|
||||
|
||||
mca_coll_allreduce_fn_t coll_allreduce_intra;
|
||||
mca_coll_allreduce_fn_t coll_allreduce_inter;
|
||||
|
||||
mca_coll_alltoall_fn_t coll_alltoall_intra;
|
||||
mca_coll_alltoall_fn_t coll_alltoall_inter;
|
||||
|
||||
mca_coll_alltoallv_fn_t coll_alltoallv_intra;
|
||||
mca_coll_alltoallv_fn_t coll_alltoallv_inter;
|
||||
|
||||
mca_coll_alltoallw_fn_t coll_alltoallw_intra;
|
||||
mca_coll_alltoallw_fn_t coll_alltoallw_inter;
|
||||
|
||||
mca_coll_barrier_fn_t coll_barrier_intra;
|
||||
mca_coll_barrier_fn_t coll_barrier_inter;
|
||||
|
||||
int coll_bcast_optimization;
|
||||
mca_coll_bcast_fn_t coll_bcast_intra;
|
||||
mca_coll_bcast_fn_t coll_bcast_inter;
|
||||
|
||||
mca_coll_exscan_fn_t coll_exscan_intra;
|
||||
mca_coll_exscan_fn_t coll_exscan_inter;
|
||||
|
||||
mca_coll_gather_fn_t coll_gather_intra;
|
||||
mca_coll_gather_fn_t coll_gather_inter;
|
||||
|
||||
mca_coll_gatherv_fn_t coll_gatherv_intra;
|
||||
mca_coll_gatherv_fn_t coll_gatherv_inter;
|
||||
|
||||
int coll_reduce_optimization;
|
||||
mca_coll_reduce_fn_t coll_reduce_intra;
|
||||
mca_coll_reduce_fn_t coll_reduce_inter;
|
||||
|
||||
mca_coll_reduce_scatter_fn_t coll_reduce_scatter_intra;
|
||||
mca_coll_reduce_scatter_fn_t coll_reduce_scatter_inter;
|
||||
|
||||
mca_coll_scan_fn_t coll_scan_intra;
|
||||
mca_coll_scan_fn_t coll_scan_inter;
|
||||
|
||||
mca_coll_scatter_fn_t coll_scatter_intra;
|
||||
mca_coll_scatter_fn_t coll_scatter_inter;
|
||||
|
||||
mca_coll_scatterv_fn_t coll_scatterv_intra;
|
||||
mca_coll_scatterv_fn_t coll_scatterv_inter;
|
||||
} mca_coll_1_0_0_t;
|
||||
|
||||
|
||||
/*
|
||||
* This struct is hung on the communicator (struct _comm) by the
|
||||
* winning coll module after the negotiation. It has pointers for all
|
||||
* the collective functions, as well as a "finalize" function for when
|
||||
* the communicator is freed.
|
||||
*/
|
||||
|
||||
typedef struct mca_coll_actions_1_0_0 {
|
||||
|
||||
/* Per-communicator initialization and finalization functions */
|
||||
|
||||
mca_coll_init_1_0_0_fn_t mca_init;
|
||||
mca_coll_finalize_fn_t mca_finalize;
|
||||
|
||||
/* Checkpoint / restart functions */
|
||||
|
||||
mca_coll_checkpoint_fn_t mca_checkpoint;
|
||||
mca_coll_continue_fn_t mca_continue;
|
||||
mca_coll_restart_fn_t mca_restart;
|
||||
mca_coll_interrupt_fn_t mca_interrupt;
|
||||
|
||||
/* Collective function pointers */
|
||||
|
||||
mca_coll_allgather_fn_t mca_allgather_intra;
|
||||
mca_coll_allgather_fn_t mca_allgather_inter;
|
||||
|
||||
mca_coll_allgatherv_fn_t mca_allgatherv_intra;
|
||||
mca_coll_allgatherv_fn_t mca_allgatherv_inter;
|
||||
|
||||
mca_coll_allreduce_fn_t mca_allreduce_intra;
|
||||
mca_coll_allreduce_fn_t mca_allreduce_inter;
|
||||
|
||||
mca_coll_alltoall_fn_t mca_alltoall_intra;
|
||||
mca_coll_alltoall_fn_t mca_alltoall_inter;
|
||||
|
||||
mca_coll_alltoallv_fn_t mca_alltoallv_intra;
|
||||
mca_coll_alltoallv_fn_t mca_alltoallv_inter;
|
||||
|
||||
mca_coll_alltoallw_fn_t mca_alltoallw_intra;
|
||||
mca_coll_alltoallw_fn_t mca_alltoallw_inter;
|
||||
|
||||
mca_coll_barrier_fn_t mca_barrier_intra;
|
||||
mca_coll_barrier_fn_t mca_barrier_inter;
|
||||
|
||||
int mca_bcast_optimization;
|
||||
mca_coll_bcast_fn_t mca_bcast_intra;
|
||||
mca_coll_bcast_fn_t mca_bcast_inter;
|
||||
|
||||
mca_coll_exscan_fn_t mca_exscan_intra;
|
||||
mca_coll_exscan_fn_t mca_exscan_inter;
|
||||
|
||||
mca_coll_gather_fn_t mca_gather_intra;
|
||||
mca_coll_gather_fn_t mca_gather_inter;
|
||||
|
||||
mca_coll_gatherv_fn_t mca_gatherv_intra;
|
||||
mca_coll_gatherv_fn_t mca_gatherv_inter;
|
||||
|
||||
int mca_reduce_optimization;
|
||||
mca_coll_reduce_fn_t mca_reduce_intra;
|
||||
mca_coll_reduce_fn_t mca_reduce_inter;
|
||||
|
||||
mca_coll_reduce_scatter_fn_t mca_reduce_scatter_intra;
|
||||
mca_coll_reduce_scatter_fn_t mca_reduce_scatter_inter;
|
||||
|
||||
mca_coll_scan_fn_t mca_scan_intra;
|
||||
mca_coll_scan_fn_t mca_scan_inter;
|
||||
|
||||
mca_coll_scatter_fn_t mca_scatter_intra;
|
||||
mca_coll_scatter_fn_t mca_scatter_inter;
|
||||
|
||||
mca_coll_scatterv_fn_t mca_scatterv_intra;
|
||||
mca_coll_scatterv_fn_t mca_scatterv_inter;
|
||||
} mca_coll_actions_1_0_0_t;
|
||||
|
||||
|
||||
/*
|
||||
* Global functions for SSI overall collective open and close
|
||||
* Global functions for MCA overall collective open and close
|
||||
*/
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
@ -211,7 +212,7 @@ extern "C" {
|
||||
* query/init functionality, prototype this function here.
|
||||
*/
|
||||
|
||||
const mca_coll_actions_1_0_0_t *
|
||||
const mca_coll_1_0_0_t *
|
||||
mca_coll_lam_basic_query(MPI_Comm comm, int *priority);
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user