
1. Add assert for opal_hibit return value: comm_size is always > 1. 2. Modified verbose output (dead-code warning). Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
85 строки
2.1 KiB
C
85 строки
2.1 KiB
C
/*
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef MCA_COLL_SPACC_EXPORT_H
|
|
#define MCA_COLL_SPACC_EXPORT_H
|
|
|
|
#include "ompi_config.h"
|
|
|
|
#include "mpi.h"
|
|
#include "ompi/mca/coll/coll.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/* Globally exported variables */
|
|
extern int mca_coll_spacc_stream;
|
|
extern int mca_coll_spacc_priority;
|
|
extern int mca_coll_spacc_verbose;
|
|
|
|
/* API functions */
|
|
|
|
int mca_coll_spacc_init_query(bool enable_progress_threads,
|
|
bool enable_mpi_threads);
|
|
mca_coll_base_module_t
|
|
*mca_coll_spacc_comm_query(struct ompi_communicator_t *comm, int *priority);
|
|
|
|
int mca_coll_spacc_module_enable(mca_coll_base_module_t *module,
|
|
struct ompi_communicator_t *comm);
|
|
|
|
int mca_coll_spacc_allreduce_intra_redscat_allgather(
|
|
const void *sbuf, void *rbuf, int count, struct ompi_datatype_t *dtype,
|
|
struct ompi_op_t *op, struct ompi_communicator_t *comm,
|
|
mca_coll_base_module_t *module);
|
|
|
|
int mca_coll_spacc_reduce_intra_redscat_gather(
|
|
const void *sbuf, void *rbuf, int count, struct ompi_datatype_t *dtype,
|
|
struct ompi_op_t *op, int root, struct ompi_communicator_t *comm,
|
|
mca_coll_base_module_t *module);
|
|
|
|
/*
|
|
* coll API functions
|
|
*/
|
|
|
|
/* API functions */
|
|
|
|
int ompi_coll_spacc_init_query(bool enable_progress_threads,
|
|
bool enable_mpi_threads);
|
|
|
|
mca_coll_base_module_t *
|
|
ompi_coll_spacc_comm_query(struct ompi_communicator_t *comm, int *priority);
|
|
|
|
struct mca_coll_spacc_component_t {
|
|
/* Base coll component */
|
|
mca_coll_base_component_2_0_0_t super;
|
|
|
|
/* MCA parameter: priority of this component */
|
|
int spacc_priority;
|
|
|
|
/* global stuff that I need the component to store */
|
|
|
|
/* MCA parameters first */
|
|
};
|
|
|
|
/*
|
|
* Convenience typedef
|
|
*/
|
|
typedef struct mca_coll_spacc_component_t mca_coll_spacc_component_t;
|
|
|
|
/*
|
|
* Global component instance
|
|
*/
|
|
OMPI_MODULE_DECLSPEC extern mca_coll_spacc_component_t mca_coll_spacc_component;
|
|
|
|
struct mca_coll_spacc_module_t {
|
|
mca_coll_base_module_t super;
|
|
};
|
|
typedef struct mca_coll_spacc_module_t mca_coll_spacc_module_t;
|
|
OBJ_CLASS_DECLARATION(mca_coll_spacc_module_t);
|
|
|
|
#endif /* MCA_COLL_SPACC_EXPORT_H */
|