Re: [OMPI users] Fwd: Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Lei Shi
Matthieu, I see your point, if I avoid calling mpi_test or wait, there is no data transfer at all. Sincerely Yours, Lei Shi - On Fri, Apr 3, 2015 at 5:17 PM, Matthieu Brucher wrote: > If you don't need to know if the data was transferred or not, then why do > you transfer it in the f

Re: [OMPI users] Fwd: Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Matthieu Brucher
If you don't need to know if the data was transferred or not, then why do you transfer it in the first place? The schema seems kind of strange, as you don't have any clue that the data was actually transferred. Actually without Wait and Test, you can pretty much assume you don't transfer anything.

[OMPI users] Fwd: Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Lei Shi
Hi Jeff, Thanks for your reminder. I don't need to make sure the data is correct or not. I know it sounds crazy at first time, but there are some numerical schemes designed for this situation. I just want to call MPI_ISend/MPI_IRecv without calling waiting or testing but can still run my program s

Re: [OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Jeff Squyres (jsquyres)
On Apr 3, 2015, at 12:50 PM, Lei Shi wrote: > > P.S. Pavan suggests me to use MPI_Request_free. I will give it a try. Keep in mind that you have zero indication of when a send or receive completes if you MPI_Request_free (Pavan implied this, too). You could be reading half a message from a p

Re: [OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Lei Shi
Hi Jeff, Yes, the memory issue caused by Isend/Irecv without calling MPI_Wait probably is the reason. Attached is my test results showing that calling MPI_Isend without using MPI_Wait at all leads to a wired wtime for my program. The Wtime should be linear, but some jumps show up after several ite

Re: [OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Lei Shi
Hi Matthieu, Thanks for your help. That is my understanding too and is verified by my test code. But I think there may be still a way to do it without calling wait or test. For my case, I just don't need to worry about the received data is correct or not (latest one or the old initial data) Since

Re: [OMPI users] [mpich-discuss] Buffered sends are evil?

2015-04-03 Thread Jeff Squyres (jsquyres)
Fair enough. My main point should probably be summarized as: MPI_BSEND isn't worth it; there are other, less-confusing, generally-more-optimized alternatives. > On Apr 3, 2015, at 11:20 AM, Balaji, Pavan wrote: > > Jeff, > > Your blog post seems to confuse what implementations currently do

Re: [OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Jeff Squyres (jsquyres)
In the general case, MPI defines that you *have* to call one of the MPI_Test or MPI_Wait functions to finish the communication request. If you don't do so, you're basically leaking resources (e.g., memory). In a single-threaded MPI implementation, the call to MPI_Test/MPI_Wait/etc. may be wher

Re: [OMPI users] Buffered sends are evil?

2015-04-03 Thread Jeff Squyres (jsquyres)
Yes. I think the blog post gives 10 excellent reasons why. :-) > On Apr 3, 2015, at 2:40 AM, Lei Shi wrote: > > Hello, > > I want to use buffered sends. Read a blog said it is evil, > http://blogs.cisco.com/performance/top-10-reasons-why-buffered-sends-are-evil > > Is it true or not? Thank

Re: [OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Matthieu Brucher
Hi, I think you have to call either Wait or Test to make the communications move forward in the general case. Some hardware may have a hardware thread that makes the communication, but usually you have to make it "advance" yourself by either calling Wait ot Test. Cheers, Matthieu 2015-04-03 5:4

[OMPI users] Buffered sends are evil?

2015-04-03 Thread Lei Shi
Hello, I want to use buffered sends. Read a blog said it is evil, http://blogs.cisco.com/performance/top-10-reasons-why-buffered-sends-are-evil Is it true or not? Thanks! Sincerely Yours, Lei Shi -

[OMPI users] Can I just use non-blocking send/receive without calling MPI_Wait ever

2015-04-03 Thread Lei Shi
I want to use non-blocking send/rev MPI_Isend/MPI_Irev to do communication. But in my case, I don't really care what kind of data I get or it is ready to use or not. So I don't want to waste my time to do any synchronization by calling MPI_Wait or etc API. But when I avoid calling MPI_Wait, my pr