Hi, could you please describe the errors you get when using dolfin::MPI::broadcast? Meanwhile, the send/recv with boost can be used like this
#include <dolfin.h>
using namespace dolfin;
int main()
{
if(MPI::num_processes() == 2)
{
std::map<int, int> map;
MPICommunicator mpi_comm;
boost::mpi::communicator comm(*mpi_comm, boost::mpi::comm_attach);
if(MPI::process_number() == 0)
{
map[0] = 10;
map[1] = 100;
comm.send(1, 0, &map, 1);
}
else
{
comm.recv(0, 0, &map, 1);
for(std::size_t i = 0; i < map.size(); i++)
info("map[%d] = %d", i, map[i]);
}
}
return 0;
}