99 msg->
put(vnodeWeights.size());
100 putMessage(*msg, vnodeWeights.begin(), vnodeWeights.end());
128 for (
int proc=0; proc <
m_procs ; ++proc )
141 vnodeWeights.resize( count );
147 double *p = &*(vnodeWeights.begin());
254 for (
int sourceProc = 0; sourceProc <
m_procs; ++sourceProc )
300 vnodeDestinations.resize(s);
void sendWeights(std::vector< double > &vnodeWeights, int tag)
void receiveVnodesToSend(std::vector< int > &vnodeDestinations, int tag)
void getMessage_iter(Message &m, OutputIterator o)
void receiveWeights(std::vector< double > &vnodeWeights, int tag)
void appendWeights(double *begin, double *end)
MultiBalancer * m_balancer
std::vector< int >::iterator iterator
void broadcastVnodesToSend(int tag)
constexpr double c
The velocity of light in m/s.
std::vector< int > m_vnodeCounts
void setupVnodes(int localVnodes, int remoteVnodes)
void recordVnodeCount(int count, int proc)
Message & get(const T &cval)
Message & put(const T &val)
void putMessage(Message &m, const T &t)
Message * receive_block(int &node, int &tag)
static Communicate * Comm
bool send(Message *, int node, int tag, bool delmsg=true)