[OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Jeff Squyres
WHAT: Rename libopen-rte to be libompi-rte (and probably other  
supporting text)


WHY: ORTE is really quite specific to OMPI.  We decided long ago that  
ORTE would not split off from OMPI, and it has been specifically  
tailored for OMPI.  Indeed, Ralph has recently been expanding "ORTE"  
to "OMPI Run Time Environment".  So let's name the library what it  
really is.


WHERE: See attached patch; basically, a bunch of Makefile.am's

WHEN: Before v1.3

TIMEOUT: Teleconference, Tues 11 Nov 2008

--

The change is fairly minor, and 98% of OMPI users won't notice.  Only  
those who are not using wrapper compilers properly will notice the  
change (and they should be using the wrapper compilers; we strongly  
recommended that everyone either directly use the wrapper compilers to  
compile/link their apps, or use the wrappers to get the required flags  
[including library names] to compile/link their apps).


I don't know if Sun has any policies about library name changes  
between versions, or if it'll create problems since CT8 has already  
been released. As a history note, we changed this library name in v1.2  
from "liborte" to "libopen-rte".  This would be another change.


--
Jeff Squyres
Cisco Systems


libompi-rte.patch
Description: Binary data


[OMPI devel] Progress of the asynchronous messages

2008-11-06 Thread vladimir marjanovic
I am new user of Open MPI, I've used MPICH before.
I've tried on the user list but they couldn't help me.

There is performance bug with the following scenario:

proc_B:  MPI_Isend(...,proc_A,..,&request)
do{
  sleep(1);
  MPI_Test(..,&flag,&request);
  count++
}while(!flag);

proc_A: MPI_Recv(...,proc_B);

For message size 8MB,  proc_B calls MPI_Test 88 times. It means that
point to point communication costs 88 seconds.
Btw, bandwidth isn't the problem (interconnection network: InfiniBand)

Obviously, there is the problem with progress of the asynchronous
messages.  In order to overlap communication and computation I don't want to use
MPI_Wait.  Probably, the message is being decomposed into chucks and the
size of chuck is probably defined by environment variable.

 How can I advance the message more aggressively or can I control size of chunk?
Thank you very much

Vladimir


  

Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Brian W. Barrett

On Thu, 6 Nov 2008, Jeff Squyres wrote:

WHAT: Rename libopen-rte to be libompi-rte (and probably other supporting 
text)


WHY: ORTE is really quite specific to OMPI.  We decided long ago that ORTE 
would not split off from OMPI, and it has been specifically tailored for 
OMPI.  Indeed, Ralph has recently been expanding "ORTE" to "OMPI Run Time 
Environment".  So let's name the library what it really is.


Does it really hurt anything to leave the name as is?  I know you love 
wrapper compilers, but there are a significant number of people who can't 
use them for one reason or another (like my case, krufty Makefiles I don't 
have control over).  It seems like there's almost no upside, and a 
significant downside for others.


Brian


Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Jeff Squyres

On Nov 6, 2008, at 1:13 PM, Brian W. Barrett wrote:

WHY: ORTE is really quite specific to OMPI.  We decided long ago  
that ORTE would not split off from OMPI, and it has been  
specifically tailored for OMPI.  Indeed, Ralph has recently been  
expanding "ORTE" to "OMPI Run Time Environment".  So let's name the  
library what it really is.


Does it really hurt anything to leave the name as is?  I know you  
love wrapper compilers, but there are a significant number of people  
who can't use them for one reason or another (like my case, krufty  
Makefiles I don't have control over).  It seems like there's almost  
no upside, and a significant downside for others.



I understand that some people can't use wrappers, but we added the -- 
showme options just for these kinds of scenarios.  I had thought that  
that was sufficient -- are you saying that it's not?


--
Jeff Squyres
Cisco Systems



Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Ralf Wildenhues
Hello,

* Jeff Squyres wrote on Thu, Nov 06, 2008 at 07:49:23PM CET:
> On Nov 6, 2008, at 1:13 PM, Brian W. Barrett wrote:
>
>>> WHY: ORTE is really quite specific to OMPI.  We decided long ago  
>>> that ORTE would not split off from OMPI, and it has been  
>>> specifically tailored for OMPI.  Indeed, Ralph has recently been  
>>> expanding "ORTE" to "OMPI Run Time Environment".  So let's name the  
>>> library what it really is.
>>
>> Does it really hurt anything to leave the name as is?

> I understand that some people can't use wrappers, but we added the -- 
> showme options just for these kinds of scenarios.  I had thought that  
> that was sufficient -- are you saying that it's not?

Changing the library name is an incompatible change for all programs and
libraries that are linked against it; i.e., it requires relinking.

Hmm, OpenMPI seems not to use versioning for its shared libraries.
Do you just declare each release API+ABI-incompatible to each other
release?

Cheers,
Ralf


Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Jeff Squyres

On Nov 6, 2008, at 2:42 PM, Ralf Wildenhues wrote:

Changing the library name is an incompatible change for all programs  
and

libraries that are linked against it; i.e., it requires relinking.


Agreed.


Hmm, OpenMPI seems not to use versioning for its shared libraries.


That was on the to-do list for this release, but it just didn't  
happen.  :-\


Do you just declare each release API+ABI-incompatible to each other  
release?



MPI API is compatible across releases; it hasn't changed.  We have  
never [yet] claimed ABI compatible across releases -- we may still do  
this someday.


--
Jeff Squyres
Cisco Systems



Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Ralf Wildenhues
* Jeff Squyres wrote on Thu, Nov 06, 2008 at 08:48:44PM CET:
> On Nov 6, 2008, at 2:42 PM, Ralf Wildenhues wrote:
>
>> Hmm, OpenMPI seems not to use versioning for its shared libraries.
>
> That was on the to-do list for this release, but it just didn't happen.  
> :-\

Oh well.  When you start doing it, please coordinate with distributors;
it's not likely, but some of them may have actually packaged OpenMPI
with versioning, including (one then hopes!) adjusting versions as
needed between releases.  You might want to start out with numbers
upward of that then.

(I've seen Debian do this before.  AFAIK they haven't for OpenMPI,
though.)

>> Do you just declare each release API+ABI-incompatible to each other  
>> release?
>
> MPI API is compatible across releases; it hasn't changed.  We have never 
> [yet] claimed ABI compatible across releases -- we may still do this 
> someday.

FWIW, this task looks quite a bit easier to me than, say, defining an
ABI valid for several MPI implementations.

Cheers,
Ralf


Re: [OMPI devel] Progress of the asynchronous messages

2008-11-06 Thread Jeff Squyres
For the web archives: this same question was posted and answered on  
the users list.  See this thread:


http://www.open-mpi.org/community/lists/users/2008/11/7222.php


On Nov 6, 2008, at 1:00 PM, vladimir marjanovic wrote:


I am new user of Open MPI, I've used MPICH before.
I've tried on the user list but they couldn't help me.

There is performance bug with the following scenario:

proc_B:  MPI_Isend(...,proc_A,..,&request)
do{
  sleep(1);
  MPI_Test(..,&flag,&request);
  count++
}while(!flag);

proc_A: MPI_Recv(...,proc_B);

For message size 8MB,  proc_B calls MPI_Test 88 times. It means  
that point to point communication costs 88 seconds.
Btw, bandwidth isn't the problem (interconnection network:  
InfiniBand)


Obviously, there is the problem with progress of the asynchronous  
messages.  In order to overlap communication and computation I  
don't want to use MPI_Wait.  Probably, the message is being  
decomposed into chucks and the size of chuck is probably defined by  
environment variable.


 How can I advance the message more aggressively or can I control  
size of chunk?

Thank you very much

Vladimir



___
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel



--
Jeff Squyres
Cisco Systems



Re: [OMPI devel] RFC: libopen-rte --> libompi-rte

2008-11-06 Thread Jeff Squyres
FWIW: Terry told me in IM that he hates this RFC as well (more details  
coming later).



On Nov 6, 2008, at 2:58 PM, Ralf Wildenhues wrote:


Hmm, OpenMPI seems not to use versioning for its shared libraries.


That was on the to-do list for this release, but it just didn't  
happen.

:-\


Oh well.  When you start doing it, please coordinate with  
distributors;

it's not likely, but some of them may have actually packaged OpenMPI
with versioning, including (one then hopes!) adjusting versions as
needed between releases.  You might want to start out with numbers
upward of that then.


Will do; thanks for the tip.

MPI API is compatible across releases; it hasn't changed.  We have  
never

[yet] claimed ABI compatible across releases -- we may still do this
someday.


FWIW, this task looks quite a bit easier to me than, say, defining an
ABI valid for several MPI implementations.



Yes; our biggest issue is the fact that gcc complains when the size of  
structs change, even though those structs are never exposed to MPI  
applications.  Specifically:


1. MPI_Comm is defined as "typedef struct ompi_communicator_t *MPI_Comm"
2. If we change the size of the ompi_communicator_t struct between two  
different versions of libmpi, gcc warns when user MPI applications are  
linked against a new libmpi


Everything seems to work since MPI_Comm is only ever used as an opaque  
handle by the MPI application.  But we haven't looked deeply [yet] to  
see if there are more hidden dragons than this, and if not, if there  
is a way to suppress the warning.


--
Jeff Squyres
Cisco Systems