check in message passing
This commit is contained in:
parent
7a60cb7f3e
commit
38cd595235
42
src/engine_robust-inl.h
Normal file
42
src/engine_robust-inl.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*!
|
||||||
|
* \file engine_robust-inl.h
|
||||||
|
* \brief implementation of inline template function in AllReduceRobust
|
||||||
|
*
|
||||||
|
* \author Tianqi, Nacho, Tianyi
|
||||||
|
*/
|
||||||
|
#ifndef ALLREDUCE_ENGINE_ROBUST_INL_H
|
||||||
|
#define ALLREDUCE_ENGINE_ROBUST_INL_H
|
||||||
|
|
||||||
|
namespace engine {
|
||||||
|
/*!
|
||||||
|
* \brief run message passing algorithm on the allreduce tree
|
||||||
|
* the result is edge message stored in p_edge_in and p_edge_out
|
||||||
|
* \param node_value the value associated with current node
|
||||||
|
* \param p_edge_in used to store input message from each of the edge
|
||||||
|
* \param p_edge_out used to store output message from each of the edge
|
||||||
|
* \param func a function that defines the message passing rule
|
||||||
|
* Parameters of func:
|
||||||
|
* - node_value same as node_value in the main function
|
||||||
|
* - edge_in the array of input messages from each edge,
|
||||||
|
* this includes the output edge, which should be excluded
|
||||||
|
* - out_index array the index of output edge, the function should
|
||||||
|
* exclude the output edge when compute the message passing value
|
||||||
|
* Return of func:
|
||||||
|
* the function returns the output message based on the input message and node_value
|
||||||
|
*
|
||||||
|
* \tparam EdgeType type of edge message, must be simple struct
|
||||||
|
* \tparam NodeType type of node value
|
||||||
|
*/
|
||||||
|
template<typename NodeType, typename EdgeType>
|
||||||
|
inline AllReduceRobust::ReturnType
|
||||||
|
AllReduceRobust::MsgPassing(const NodeType &node_value,
|
||||||
|
std::vector<EdgeType> *p_edge_in,
|
||||||
|
std::vector<EdgeType> *p_edge_out,
|
||||||
|
EdgeType (*func) (const NodeType &node_value,
|
||||||
|
const std::vector<EdgeType> &edge_in,
|
||||||
|
size_t out_index)
|
||||||
|
) {
|
||||||
|
return kSuccess;
|
||||||
|
}
|
||||||
|
} // namespace engine
|
||||||
|
#endif // ALLREDUCE_ENGINE_ROBUST_INL_H
|
||||||
Loading…
x
Reference in New Issue
Block a user