title: Dynamically Creating Communicators
body: <p>I have a small communication problem that has consumed hours of search. I am using MPICH2 to communicate between different workers. At some points in my program a process needs to multi-cast a message to a fraction of the workers (2 or 3 out of a total of 20). Therefore, I temporarily need to create a group that includes the ranks of all those workers and then use MPI_BCast. However, this seems to be impossible!</p>
  
  <p>I have tried MPI_Comm_Create but the program simply hangs because it required "every" worker call MPI_Comm_Create. I can not also use MPI_Comm_Split because <strong>I do not know the ranks</strong> of the recipient workers in advance and hence can not color code them.</p>
  
  <p>Could you please help me.</p>