Newsgroups: comp.parallel.mpi
From: salo@mrjones.engr.sgi.com (Eric Salo)
Subject: Re: MPI_SEND is not returning.
Organization: Silicon Graphics, Inc.  Mountain View, CA
Date: 18 Sep 1995 18:11:52 GMT
Message-ID: <43kcp8$rsl@murrow.corp.sgi.com>

> I have a program that works fine on an Intel Paragon,
> which I would also like to run on an IBM SP2 - but on
> the SP2 the program does not work fine anymore.
> 
> The program will not return from a call to MPI_SEND.
> Does anybode know what culd be the reason for this? 

Sounds like it may be a buffering problem. The MPI standard allows
implementations of MPI_SEND to do as much or as little buffering as they
desire. So, on the Paragon, your call to MPI_SEND probably copies the
data to a scratch buffer (either locally or remotely) and returns
immediately. On the SP2, it may be that the data is not buffered, and
so MPI_SEND is forced to block until the corresponding receive is posted.

Disclaimer: I know nothing about how the SP2 library is implemented.
However, our MPI library by default does very little buffering so I am
unfortunately rather familiar with this particular problem. My advice
(one might even call it a religion) is to dump MPI_SEND entirely and use
MPI_ISEND instead. Always.

Eric Salo         Silicon Graphics Inc.             "Do you know what the
(415)390-2998     2011 N. Shoreline Blvd, 7L-802     last Xon said, just
salo@sgi.com      Mountain View, CA   94043-1389     before he died?"

