Re: [OMPI devel] MPI_Win_get_group
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
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
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
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
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
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
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