PURIFY
Next-generation radio interferometric imaging
AllToAllSparseVector.cc
Go to the documentation of this file.
2 
3 namespace purify {
4 
5 std::vector<t_int> all_to_all_send_sizes(const std::vector<t_int> &recv_sizes,
6  const sopt::mpi::Communicator &comm) {
7  std::vector<t_int> send_sizes(recv_sizes.size(), 0);
8  for (t_int i = 0; i < comm.size(); i++) {
9  if (i == comm.rank())
10  send_sizes = comm.gather<t_int>(recv_sizes[i], i);
11  else
12  comm.gather<t_int>(recv_sizes[i], i);
13  }
14  return send_sizes;
15 }
16 } // namespace purify
std::vector< t_int > all_to_all_send_sizes(const std::vector< t_int > &recv_sizes, const sopt::mpi::Communicator &comm)