1
1
openmpi/ompi/mca/bcol/ptpcoll/bcol_ptpcoll_allreduce.h
Pavel Shamis 3a683419c5 Fixing broken dependency between ML/BCOLS
This is hot-fix patch for the issue reported by Ralph. 
In future we plan to restructure ml data structure layout.

Tested by Nathan.

cmr=v1.7.5:ticket=trac:4158

This commit was SVN r30619.

The following Trac tickets were found above:
  Ticket 4158 --> https://svn.open-mpi.org/trac/ompi/ticket/4158
2014-02-07 19:15:45 +00:00

96 строки
3.0 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$
*/
#ifndef MCA_BCOL_PTPCOLL_ALLREDUCE_H
#define MCA_BCOL_PTPCOLL_ALLREDUCE_H
#include "ompi_config.h"
#include "ompi/op/op.h"
#include "ompi/datatype/ompi_datatype.h"
#include "bcol_ptpcoll.h"
#include "bcol_ptpcoll_utils.h"
enum {
BLOCK_OFFSET = 0,
LOCAL_REDUCE_SEG_OFFSET,
BLOCK_COUNT,
SEG_SIZE,
NOFFSETS
};
BEGIN_C_DECLS
int bcol_ptpcoll_allreduce_narraying(mca_bcol_ptpcoll_module_t *ptpcoll_module,
const int buffer_index, void *data_buffer,
struct ompi_op_t *op,
const int count, struct ompi_datatype_t *dtype, const int
buffer_size, const int relative_group_index);
int bcol_ptpcoll_allreduce_narraying_init(bcol_function_args_t *input_args,
struct mca_bcol_base_function_t *const_args);
int bcol_ptpcoll_allreduce_recursivek_scatter_reduce(mca_bcol_ptpcoll_module_t *ptpcoll_module,
const int buffer_index, void *sbuf,
void *rbuf,
struct ompi_op_t *op,
const int count, struct ompi_datatype_t *dtype,
const int relative_group_index,
const int padded_start_byte);
int bcol_ptpcoll_allreduce_knomial_allgather(mca_bcol_ptpcoll_module_t *ptpcoll_module,
const int buffer_index,
void *sbuf,void *rbuf, int count, struct
ompi_datatype_t *dtype,
const int relative_group_index,
const int padded_start_byte);
int bcol_ptpcoll_allreduce_recursivek_scatter_reduce_allgather_init(bcol_function_args_t *input_args,
struct mca_bcol_base_function_t *const_args);
int compute_knomial_allgather_offsets(int group_index, int count, struct
ompi_datatype_t *dtype,int k_radix,int n_exchanges,
int **offsets);
int bcol_ptpcoll_allreduce_recursivek_scatter_reduce_extra(mca_bcol_ptpcoll_module_t *ptpcoll_module,
int buffer_index,
void *sbuf,
void *rbuf,
struct ompi_op_t *op,
const int count, struct ompi_datatype_t *dtype);
int bcol_ptpcoll_allreduce_knomial_allgather_extra(mca_bcol_ptpcoll_module_t *ptpcoll_module,
int buffer_index,
void *sbuf,
void *rbuf,
const int count, struct ompi_datatype_t *dtype);
int bcol_ptpcoll_allreduce_recursivek_scatter_reduce_allgather_extra_init(bcol_function_args_t *input_args,
struct mca_bcol_base_function_t *const_args);
int bcol_ptpcoll_allreduce_init(mca_bcol_base_module_t *super);
#if 0
int knomial_reduce_scatter_offsets(int group_index,int count, struct ompi_datatype_t *dtype, int k_radix,
int n_exchanges, int nth_exchange, size_t *recv_offset, size_t
*block_offset, size_t *block_count, size_t *block_size, size_t
*seg_size);
int allgather_offsets(int group_index,int count, struct ompi_datatype_t *dtype, int k_radix,
int n_exchanges, int nth_exchange, size_t *send_offset, size_t
*block_offset, size_t *block_count, size_t *block_size, size_t
*seg_size);
#endif
END_C_DECLS
#endif