b89f8fabc9
The project includes following components and frameworks: - ML Collective component - NETPATTERNS and COMMPATTERNS common components - BCOL framework - SBGP framework Note: By default the ML collective component is disabled. In order to enable new collectives user should bump up the priority of ml component (coll_ml_priority) ============================================= Primary Contributors (in alphabetical order): Ishai Rabinovich (Mellanox) Joshua S. Ladd (ORNL / Mellanox) Manjunath Gorentla Venkata (ORNL) Mike Dubman (Mellanox) Noam Bloch (Mellanox) Pavel (Pasha) Shamis (ORNL / Mellanox) Richard Graham (ORNL / Mellanox) Vasily Filipov (Mellanox) This commit was SVN r27078.
122 строки
2.6 KiB
C
122 строки
2.6 KiB
C
/*
|
|
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
|
|
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
/** @file */
|
|
|
|
#ifndef MCA_COLL_ML_FUNCTIONS_H
|
|
#define MCA_COLL_ML_FUNCTIONS_H
|
|
|
|
#include "ompi_config.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
#define ML_MEMSYNC -100
|
|
|
|
enum {
|
|
ML_BARRIER_DEFAULT
|
|
};
|
|
/* small data algorithm */
|
|
/* broadcast functions */
|
|
enum {
|
|
/* small data algorithm */
|
|
ML_BCAST_SMALL_DATA_KNOWN,
|
|
/* small data - dynamic decision making supported */
|
|
ML_BCAST_SMALL_DATA_UNKNOWN,
|
|
/* Sequential algorithm */
|
|
ML_BCAST_SMALL_DATA_SEQUENTIAL,
|
|
|
|
ML_BCAST_LARGE_DATA_KNOWN,
|
|
|
|
ML_BCAST_LARGE_DATA_UNKNOWN,
|
|
|
|
ML_BCAST_LARGE_DATA_SEQUENTIAL,
|
|
|
|
/* marker - all routines about this are expected to be used in
|
|
* selection logic that is based on size of the data */
|
|
ML_N_DATASIZE_BINS,
|
|
|
|
/* number of functions - also counts some markers, but ... */
|
|
ML_NUM_BCAST_FUNCTIONS
|
|
};
|
|
|
|
|
|
/* scatter functions */
|
|
enum {
|
|
/* small data algorithm */
|
|
ML_SCATTER_SMALL_DATA_KNOWN,
|
|
|
|
/* marker - all routines about this are expected to be used in
|
|
* selection logic that is based on size of the data */
|
|
ML_SCATTER_N_DATASIZE_BINS,
|
|
|
|
/* small data - dynamic decision making supported */
|
|
ML_SCATTER_SMALL_DATA_UNKNOWN,
|
|
|
|
/* Sequential algorithm */
|
|
ML_SCATTER_SMALL_DATA_SEQUENTIAL,
|
|
|
|
/* number of functions - also counts some markers, but ... */
|
|
ML_NUM_SCATTER_FUNCTIONS
|
|
};
|
|
|
|
|
|
/* Allreduce functions */
|
|
enum {
|
|
/* small data algorithm */
|
|
ML_SMALL_DATA_ALLREDUCE,
|
|
|
|
/* Large data algorithm */
|
|
ML_LARGE_DATA_ALLREDUCE,
|
|
|
|
/* If some of bcols doesn't support
|
|
all possibles types, use these extra algthms */
|
|
/* small data algorithm */
|
|
ML_SMALL_DATA_EXTRA_TOPO_ALLREDUCE,
|
|
|
|
/* large data algorithm */
|
|
ML_LARGE_DATA_EXTRA_TOPO_ALLREDUCE,
|
|
|
|
/* number of functions */
|
|
ML_NUM_ALLREDUCE_FUNCTIONS
|
|
};
|
|
|
|
/* Alltoall functions */
|
|
enum {
|
|
/* small data algorithm */
|
|
ML_SMALL_DATA_ALLTOALL,
|
|
/* large all to all */
|
|
ML_LARGE_DATA_ALLTOALL,
|
|
/* number of functions */
|
|
ML_NUM_ALLTOALL_FUNCTIONS
|
|
};
|
|
|
|
/* Allgather functions */
|
|
enum {
|
|
/* small data */
|
|
ML_SMALL_DATA_ALLGATHER,
|
|
/* large data */
|
|
ML_LARGE_DATA_ALLGATHER,
|
|
/* number of functions */
|
|
ML_NUM_ALLGATHER_FUNCTIONS
|
|
};
|
|
|
|
/* gather functions */
|
|
enum {
|
|
/* small data */
|
|
ML_SMALL_DATA_GATHER,
|
|
/* large data */
|
|
ML_LARGE_DATA_GATHER,
|
|
/* number of functions */
|
|
ML_NUM_GATHER_FUNCTIONS
|
|
};
|
|
|
|
END_C_DECLS
|
|
|
|
#endif /* MCA_COLL_ML_FUNCTIONS_H */
|