Dear All:
How to find the buffer size of OpenMPI ?
I need to transfer large data between nodes on a cluster with OpenMPI 1.3.4.
Many nodes need to send data to the same node .
Workers use mpi_isend, the receiver node use mpi_irecv.
because they are non-blocking, the messages are stored in
Hi Alex,
Building Open MPI using CMake is the recommended procedure, you probably
should stick with it, and it has been proved working well on different
Windows platforms. The other building procedures are not well supported
for some time now, and they are deprecated.
For the problems that
Hello again,
I believe my administrator has opened the ports I requested. The problem I am
having now is that OpenMPI is not listening to my defined port assignments in
openmpi-mca-params.conf (looks like permission 644 on those files should it be
755?)
When I perform netstat -ltnup I see
Are there multiple interfaces on your nodes? I'm wondering if we are using a
different network than the one where you opened these ports.
You'll get quite a bit of output, but you can turn on debug output in the oob
itself with -mca oob_tcp_verbose xx. The higher the number, the more you get.
I ran oob_tcp_verbose 99 and I am getting something interesting I never got
before.
[machine 2:22347] bind() failed: no port available in the range [60001-60016]
[machine 2:22347] mca_oob_tcp_init: unable to create IPv4 listen socket: Error
I never got that error before we messed with the
The "static ports" flag means something different - it is used when the daemon
is given a fixed port to use. In some installations, we lock every daemon to
the same port number so that each daemon can compute exactly how to contact its
peers (i.e., no contact info exchange required for wireup).
Perhaps i misunderstand your question...
Generally, it is the user's job to provide the buffers both to send and receive.
If you call MPI_Recv, you must pass a buffer that is large enough to
hold the data sent by the
corresponding MPI_Send. I.e., if you know your sender will send
messages of
I believe his question is regarding when under non-blocking send/recv, how
does MPI know how much memory to allocate to receive the message, since the
size is determined AFTER the irecv is posted. So if the send post isend,
but the receiver hasn't post irecv, what would the MPI do with the
Hi,
thanks for the program from Jody.
David indicated the question that I want to ask.
But, Jody's approach is ok when the MPI built-in buffer size is large enough to
hold the message such as 100kB in the buffer.
In asynchronous communication, when the sender posts a mpi_isend, the message