Hello, I have some problems with the MPI non-blocking communication, but I can be a thinking error. The CPU 0 (rank 0) creates a loop with this: while (true) { std::string l_str; p_com.irecv( mpi::any_source, LOGGER_MPI_TAG, l_str ); } p_com is the commuicator object. All other CPUs (!= 0) can send a message to CPU 0, which should be received. The CPUs (!=0) can send a message, but they need not, so I would create this with non-blocking communication. At this time my l_str is alway empty, so it seems that the message, that are send, not transmittet, received or not inserted into l_str. I hope the problems is described in a clear way. I would like that the CPU 0 can receive message of there are some and all other CPUs can send messages. Thanks Phil