The problem is that for the moment, the implementation uses Isend/Irecv, but you don't know what will happen in the future (hopefully, it will use something else). If your program bypasses the required call to MPI_Iscatterv, then you only have one option: implement MPI_Iscatterv yourself, with only the required parts. It's not that complicated, it can be done with an empty array of requests, and then for each required Isend, increment the request counter, same for the Irecv, and wait for all at the end.
2014-07-16 15:53 GMT+02:00 Ziv Aginsky <zivagin...@gmail.com>: > Thanks a lot. > You are right I am using MPI_Iscatterv, in a domain decomposition code, but > the problem is that for the domain which I have no data to send fro, the > program will jump the routine. I can not redesign the whole program. > Do you know what will happen to send call with zero size buffer? Can I just > set the request to MPI_SUCCESS for ranks which I will send zero buffer to > and have no receive call? > Is there any other MPI routine that can do MPI_Scatterv on selected ranks? > without creating a new communicator? > > > > > On Wed, Jul 16, 2014 at 3:42 PM, Matthieu Brucher > <matthieu.bruc...@gmail.com> wrote: >> >> If you are using Iscatterv (I guess it is that one), it handles the >> pairs itself. You shouldn't bypass it because you think it is better. >> You don't know how it is implemented, so just call Iscatterv for all >> ranks. >> >> 2014-07-16 14:33 GMT+01:00 Ziv Aginsky <zivagin...@gmail.com>: >> > I know the standard, but what if I can not bypass the send message. For >> > example if I have MPI_Iscatter and for some ranks the send buffer has >> > zero >> > size. At those ranks it will jump the MPI_Iscatter routine, which means >> > I >> > have some zero size send and no receive. >> > >> > >> > >> > >> > On Wed, Jul 16, 2014 at 3:28 PM, Matthieu Brucher >> > <matthieu.bruc...@gmail.com> wrote: >> >> >> >> Hi, >> >> >> >> The easiest would also to bypass the Isend as well! The standard is >> >> clear, you need a pair of Isend/Irecv. >> >> >> >> Cheers, >> >> >> >> 2014-07-16 14:27 GMT+01:00 Ziv Aginsky <zivagin...@gmail.com>: >> >> > I have a loop in which I will do some MPI_Isend. According to the MPI >> >> > standard, for every send you need a recv!!!! >> >> > >> >> > If one or several of my MPI_Isend have zero size buffer, should I >> >> > still >> >> > have >> >> > the mpi_recv or I can do it without recv? I mean on the processor >> >> > which >> >> > I >> >> > should recv the data I know priory that my buffer is with zero size. >> >> > Can >> >> > I >> >> > jump from MPI_Recv. >> >> > >> >> > The question is because of the format of the program I am using if it >> >> > knows >> >> > that the receiving buffer is zero it will not call the routine which >> >> > contains mpi_Recv. >> >> > >> >> > >> >> > >> >> > >> >> > _______________________________________________ >> >> > users mailing list >> >> > us...@open-mpi.org >> >> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> > Link to this post: >> >> > http://www.open-mpi.org/community/lists/users/2014/07/24781.php >> >> >> >> >> >> >> >> -- >> >> Information System Engineer, Ph.D. >> >> Blog: http://matt.eifelle.com >> >> LinkedIn: http://www.linkedin.com/in/matthieubrucher >> >> Music band: http://liliejay.com/ >> >> _______________________________________________ >> >> users mailing list >> >> us...@open-mpi.org >> >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> Link to this post: >> >> http://www.open-mpi.org/community/lists/users/2014/07/24782.php >> > >> > >> > >> > _______________________________________________ >> > users mailing list >> > us...@open-mpi.org >> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> > Link to this post: >> > http://www.open-mpi.org/community/lists/users/2014/07/24783.php >> >> >> >> -- >> Information System Engineer, Ph.D. >> Blog: http://matt.eifelle.com >> LinkedIn: http://www.linkedin.com/in/matthieubrucher >> Music band: http://liliejay.com/ >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users >> Link to this post: >> http://www.open-mpi.org/community/lists/users/2014/07/24784.php > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users > Link to this post: > http://www.open-mpi.org/community/lists/users/2014/07/24785.php -- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher Music band: http://liliejay.com/