Re: [OMPI devel] MPI_Win_get_group

2007-07-30 Thread Lisandro Dalcin
On 7/29/07, Jeff Squyres  wrote:
> On Jul 28, 2007, at 4:41 PM, Lisandro Dalcin wrote:
>
> > In the mean time, I would prefer to follow the standard as close as
> > possible. If not, some external, stupid test suite (like the one I
> > have for mip4py) would report that OMPI is wrong about this point.
>

What exactly are you testing for?

Equality with the '==' C operator (i.e. handle equality). Using
Group.Compare() yields IDENT, as expected. But for groups, I
understand IDENT means either equal handles (in the C/C++ '==' sense)
or groups with the same size and rank order.


-- 
Lisandro Dalcín
---
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



[OMPI devel] Coverity logins

2007-07-30 Thread Jeff Squyres
I just added a link to the Coverity login page to the "Developer"  
section of the wiki.  Let me know if you want a login to see the  
results (you must be an Open MPI Member and agree to abide by the  
Coverity policy stated here: http://scan.coverity.com/policy.html).


Nightly scans will likely start this week sometime; HLRS/Sven has  
been poring over the results from the 1.2.2 tarball scan and fixing a  
bunch of niglets so far.  Yummy!


--
Jeff Squyres
Cisco Systems



Re: [OMPI devel] MPI_Win_get_group

2007-07-30 Thread Jeff Squyres

On Jul 30, 2007, at 9:58 AM, Lisandro Dalcin wrote:


In the mean time, I would prefer to follow the standard as close as
possible. If not, some external, stupid test suite (like the one I
have for mip4py) would report that OMPI is wrong about this point.


What exactly are you testing for?

Equality with the '==' C operator (i.e. handle equality). Using
Group.Compare() yields IDENT, as expected. But for groups, I
understand IDENT means either equal handles (in the C/C++ '==' sense)
or groups with the same size and rank order.


Upon reading Brian's answer and refreshing my cache by re-reading the  
groups section of MPI-1, I have to agree with both of you.  The  
wording of the standard says that we should return a copy of a  
group.  But since groups are immutable, there really is no effective  
difference as compared to simply returning the same group.


To be *really* strict in interpreting the results, you have to call  
into question what "copy" means.  One valid interpretation could be:  
increment a reference count on an existing group and then return a  
handle to that existing group (which is what OMPI does).  So we  
"copied" it -- in a lazy copy-on-write manner (just like fork() does  
with memory pages between parents and children -- how's that for  
precedent?).  But since the group never changes, we never actually  
bother to copy it.  It's a [scalability] feature!  :-)


So I think that using the C equality operator to compare the handles  
that return will give you an answer that doesn't really mean  
anything.  Regardless of whether you get the "same" group back or  
whether you get a "copy" back, you'll get MPI_IDENT if you compare  
the original group with the one returned, and that's the result that  
matters.


My $0.02...

--
Jeff Squyres
Cisco Systems



Re: [OMPI devel] MPI_Win_get_group

2007-07-30 Thread George Bosilca
In the data-type section there is an advice to implementors that  
state that a copy can simply increase the reference count if  
applicable. So, we might want to apply the same logic here ...


  george.

On Jul 30, 2007, at 4:16 PM, Jeff Squyres wrote:


On Jul 30, 2007, at 9:58 AM, Lisandro Dalcin wrote:


In the mean time, I would prefer to follow the standard as close as
possible. If not, some external, stupid test suite (like the one I
have for mip4py) would report that OMPI is wrong about this point.


What exactly are you testing for?

Equality with the '==' C operator (i.e. handle equality). Using
Group.Compare() yields IDENT, as expected. But for groups, I
understand IDENT means either equal handles (in the C/C++ '==' sense)
or groups with the same size and rank order.


Upon reading Brian's answer and refreshing my cache by re-reading the
groups section of MPI-1, I have to agree with both of you.  The
wording of the standard says that we should return a copy of a
group.  But since groups are immutable, there really is no effective
difference as compared to simply returning the same group.

To be *really* strict in interpreting the results, you have to call
into question what "copy" means.  One valid interpretation could be:
increment a reference count on an existing group and then return a
handle to that existing group (which is what OMPI does).  So we
"copied" it -- in a lazy copy-on-write manner (just like fork() does
with memory pages between parents and children -- how's that for
precedent?).  But since the group never changes, we never actually
bother to copy it.  It's a [scalability] feature!  :-)

So I think that using the C equality operator to compare the handles
that return will give you an answer that doesn't really mean
anything.  Regardless of whether you get the "same" group back or
whether you get a "copy" back, you'll get MPI_IDENT if you compare
the original group with the one returned, and that's the result that
matters.

My $0.02...

--
Jeff Squyres
Cisco Systems

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




[OMPI devel] looking up service

2007-07-30 Thread Lisandro Dalcin
MPI_Lookup_name() is supposed to work on v1.2 branch? I cannot get it
working (it fails with MPI_ERR_NAME).

-- 
Lisandro Dalcín
---
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594



Re: [OMPI devel] looking up service

2007-07-30 Thread George Bosilca
That's a quite complex thing to do. You have to have a persistent  
daemon in order to have this feature working. If you dig a little bit  
on the mailing list, you will be able to find an email (around 2 or 3  
weeks old now) from ralph which explain how this stuff work and what  
you have to do in order to make it working.


  Thanks,
george.

On Jul 30, 2007, at 4:34 PM, Lisandro Dalcin wrote:


MPI_Lookup_name() is supposed to work on v1.2 branch? I cannot get it
working (it fails with MPI_ERR_NAME).

--
Lisandro Dalcín
---
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

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





Re: [OMPI devel] MPI_Win_get_group

2007-07-30 Thread Lisandro Dalcin
On 7/30/07, George Bosilca  wrote:
> In the data-type section there is an advice to implementors that
> state that a copy can simply increase the reference count if
> applicable. So, we might want to apply the same logic here ...

BTW, you just mentioned other obscure case. Do this apply to NAMED
datatypes? This issue is really cumbersome in File.Get_view().

-- 
Lisandro Dalcín
---
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594