[mpich-discuss] Re: MPI_Brecv vs multiple MPI_Irecv
Darius Buntinas
buntinas at mcs.anl.gov
Wed Aug 27 10:23:35 CDT 2008
Well, what would it mean to do a buffered receive?
This?
buf = malloc(BUF_SZ);
MPI_Irecv(buf,...);
MPI_Wait(...);
memcpy(recv_ptr, buf, BUF_SZ);
What would be the benefit?
-d
On 08/27/2008 10:13 AM, Robert Kubrick wrote:
> I just found out that the standard actually doesn't have an MPI_Brecv call.
> Any reason why the recv can not buffer messages in a user-provided
> memory space, as per MPI_Battach/MPI_Bsend?
>
> On Aug 26, 2008, at 4:17 PM, Robert Kubrick wrote:
>
>> From a performance point of view, which one is better:
>>
>> MPI_Battach(10*sizeof(MSG))
>> MPI_Brecv()
>>
>> or
>>
>> MPI_recv_init()
>> MPI_recv_init()
>> MPI_recv_init()
>> ... /* 10 recv handlers */
>> MPI_Start(all recv)
>> MPI_Waitany()
>>
>>
>> I understand MPI_Brecv will require an extra message copy, from the
>> attached buffer to the MPI_Brecv() buffer. I'd like to know if there
>> other differences between the two methods.
>>
>> Thanks,
>> Rob
>
More information about the mpich-discuss
mailing list