Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Marcelo Stival (marstival_at_[hidden])
Date: 2006-07-26 18:21:05


oops

On 7/26/06, Marcelo Stival <marstival_at_[hidden]> wrote:
>
> Hi,
>
> I got a problem with ompi when sending large number of messages from
> process A to process B.
> Process A only send... and B only receive (the buffers are reused)
>
> int n = 4 * 1024;//number of iterations (messages to be sent)
> consecutively
> int len = 8; //len of each message
>
> Process A (rank 0):
> for (i=0; i < n; i++){
> MPI_Send( sbuffer, len, MPI_BYTE,to,i,MPI_COMM_WORLD);
> }
> Process B (rank 1):
> for (i=0; i < n; i++){
> MPI_Recv(rbuffer,len,MPI_BYTE,recv_from , i,MPI_COMM_WORLD, &status);
> }
> (It's a benchmark program... will run with increasing messages sizes.. )
> (I tried with the same tag on all iterations - and got the same)
>
> It works fine for n (number of messages) equals to 3k (for example), but
> do not work with n equals to 4k (for messages of 8 bytes 4k iterations seems
> to be the treshould).
>
> The error messages (complete output attached):
> malloc debug: Request for 8396964 bytes failed (class/ompi_free_list.c,
> 142)
> mpptest: btl_tcp_endpoint.c:624: mca_btl_tcp_endpoint_recv_handler:
> Assertion `0
> == btl_endpoint->endpoint_cache_length' failed.
> Signal:6 info.si_errno:0(Success) si_code:-6()
>
>
> Considerations:
> It works for synchronous send (MPI_Ssend).
> It works with MPICH2 ( 1.0.3).
> It is a benchmark program, I want to flood the network to measure the
> bandwidth ... (for different message sizes)
>
>
> Thanks
>
> Marcelo
>
>