[petsc-users] Update of the buffer

Lawrence Mitchell wence at gmx.li
Thu Feb 10 09:11:46 CST 2022



> On 10 Feb 2022, at 15:02, Stefano Zampini <stefano.zampini at gmail.com> wrote:
> 
> 
> 
>> On Feb 10, 2022, at 6:00 PM, Matthew Knepley <knepley at gmail.com> wrote:
>> 
>> On Thu, Feb 10, 2022 at 9:17 AM Medane TCHAKOROM <medane.tchakorom at univ-fcomte.fr> wrote:
>> Hello ,
>> 
>> Sorry if this question does not belong to this mailling list, i'am using Petsc , but with some
>> 
>> MPI parts code, when dealing with communication.
>> 
>> If a make two consecutive MPI_Isend requests, and if the destination processor has not yet receive the message inbetween the two calls, will the buffer be updated ? I mean if I send message "1" for the first request, then send "0" as the second message. Will the receiver receive "0" as message ? I not, how can I do to update the message ?
>> 
>> I believe that MPI guarantees in-order message delivery from a source to a target, so if you send 1 before 0, the receiver
>> should get them in that order. However, someone here should know for sure.
> 
> I don’t think so. You should use tags to flag the proper operation and wait for it if you need the value to arrive.


Multiple messages that match the same receive are guaranteed not to overtake (modulo some technical conditions to do with wildcards and waitany, as well as threading). See https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node58.htm#Node58, and the discussion for semantics of nonblocking messages here https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node65.htm#Node65

Lawrence


More information about the petsc-users mailing list