For the moment, a possible workaround might be to use plain TCP
sockets (i.e., outside of MPI) to make the initial connection. That
way, you can just have your server blocking in accept().
After the TCP connection is made, use MPI_COMM_JOIN to create a
communicator and then proceed with no
Hi Jeff,
thanks for taking the time to answer this. I actually reached that
conclusion after trying a simple MPI::Barrier() with both OpenMPI and
Lam-MPI , where both had the same active wait kind of behaviour.
What I'm trying to achive is to have some kind of calculation
server,
This is actually expected behavior. We make the assumption that MPI
processes are meant to exhibit as low latency as possible, and
therefore use active polling for most message passing.
Additionally, it may be possible that connections could come across
multiple devices, so we need to poll
Hello,
I'm having a weird problem while using the MPI_Comm_Accept (C) or the
MPI::Comm::Accept (C++ bindings).
My "server" runs until the call to this function but if there's no
client
connecting, it sits there eating all CPU (100%), although if a client connects
the loop works