1 /* Copyright (c) 2013-2023. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #include "../colls_private.hpp"
9 namespace simgrid::smpi {
10 // Allgather - gather/bcast algorithm
11 int allgather__GB(const void *send_buff, int send_count,
12 MPI_Datatype send_type, void *recv_buff,
13 int recv_count, MPI_Datatype recv_type,
17 num_procs = comm->size();
18 colls::gather(send_buff, send_count, send_type, recv_buff, recv_count, recv_type, 0, comm);
19 colls::bcast(recv_buff, (recv_count * num_procs), recv_type, 0, comm);
24 } // namespace simgrid::smpi