I use MPI (with fortran, but the question is more specific to the MPI standard than any given language), and in particular, the use of the send / receive isend and irecv buffered functions. Now, if we imagine the following scenario:
Process 0:
isend(stuff1, ...) isend(stuff2, ...)
Process 1:
wait 10 seconds irecv(in1, ...) irecv(in2, ...)
Are messages sent to Process 1 in the order in which they were sent, that is, I can be sure that in1 == stuff1 and in2 == stuff2 if the tag used is the same in all cases ?
, , . . MPI Standard , :
: , , , . , , , . . , , , MPI_ANY_SOURCE . ( , MPI_CANCEL MPI_WAITANY, .)
.
, in1 == stuff1 in2 == stuff2, ?
. 1:1 send recv, recv. MPI.
. - ... RDMA (, InfiniBand).
(, , ), MPI_Test MPI_Wait, , ( ).
in1 = stuff1, in2 = stuff2 , , MPI_Issend (, ) . recv , - revc (, MPI_Recv, MPI_Barrier, MPI_Wait ..).
Source: https://habr.com/ru/post/1727695/More articles:Add formatted string to string in C (not C ++) without pointer arithmetic? - cLambda calling itself to define lambda - pythonHow do I get cx_Oracle to work with 64-bit versions of Itanium Windows? - pythonCommunity MongoMapper has_many - ruby | fooobar.comПредложения по структуре приложения ASP.NET MVC - asp.net-mvc.NET Filter Patterns EntityStoreSchemaFilterEntry - linq-to-entitiesHow to display child user controls in a specific place? - c #jQuery Refactoring / Maintaining - jqueryHow to check only specific / specific tags in XML? - xmlC # Web Service and variable usage - c #All Articles