Re: [OMPI devel] devel Digest, Vol 1080, Issue 3

2008-06-09 Thread Joseph Bane
Hi again.
Sorry for the late response - I was on vacation.

The signature for the PVFS_sys_create function has indeed changed as of
version 2.7.0.

As far as I can tell, this is a minor change.

Cheers!
~Joe



> -- Forwarded message --
> From: Jeff Squyres 
> To: Open MPI Developers 
> Date: Wed, 4 Jun 2008 14:58:25 -0400
> Subject: Re: [OMPI devel] openmpi-1.2.6 and pvfs-2.7.0+ Support


> Just to clarify -- are you saying that the function signature for
> PVFS_sys_create() has changed over time and that in some versions it takes 6
> parameters, and in other versions it takes 7 parameters?  (I know nothing
> about PVFS)
>
> Thanks!
>
>
>
> On May 30, 2008, at 6:07 PM, Joseph Bane wrote:
>
>  Hi all.
>> I found a small issue compiling openmpi-1.2.6 with pvfs-2.7.0 support.
>> There is a new layout attribute for "PVFS_sys_create" calls and simply
>> passing a NULL in place of it for the "fake_an_open" function
>> (io_romio_ad_pvfs2_open.c) takes care of the issue. I found this solution
>> looking at MPICH2 source awhile ago, btw.
>>
>> For instance, after configuring openmpi with pvfs2 support (configure
>> --prefix=/usr/local
>> --with-io-romio-flags="--with-file-system=pvfs2+ufs+nfs") and then running
>> "make all", the following errors appear:
>>
>> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../adio/include
>> -DOMPI_BUILDING=1
>> -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/../../../../..
>> -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/../../../../../opal/include
>> -I../../../../../../../opal/include -I../../../../../../../ompi/include
>> -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/include
>> -I/usr/src/openmpi-1.2.6/ompi/mca/io/romio/romio/adio/include -O3 -DNDEBUG
>> -finline-functions -fno-strict-aliasing -pthread -O3 -DNDEBUG
>> -finline-functions -fno-strict-aliasing -pthread -D_LARGEFILE64_SOURCE
>> -D_FILE_OFFSET_BITS=64 -DHAVE_ROMIOCONF_H -DHAVE_ROMIOCONF_H -I../../include
>> -MT io_romio_ad_pvfs2_open.lo -MD -MP -MF .deps/io_romio_ad_pvfs2_open.Tpo
>> -c io_romio_ad_pvfs2_open.c  -fPIC -DPIC -o .libs/io_romio_ad_pvfs2_open.o
>>
>> io_romio_ad_pvfs2_open.c: In function 'fake_an_open':
>> io_romio_ad_pvfs2_open.c:86: warning: passing argument 6 of
>> 'PVFS_sys_create' from incompatible pointer type
>> io_romio_ad_pvfs2_open.c:86: error: too few arguments to function
>> 'PVFS_sys_create'
>> make[5]: *** [io_romio_ad_pvfs2_open.lo] Error 1
>>
>>
>> Also, here is the new function prototype for pvfs-2.7.0+ for reference:
>>PVFS_error PVFS_sys_create(
>>char *object_name,
>>PVFS_object_ref parent_ref,
>>PVFS_sys_attr attr,
>>const PVFS_credentials *credentials,
>>PVFS_sys_dist *dist,
>>PVFS_sys_layout *layout,
>>PVFS_sysresp_create *resp);
>>
>>
>> So, long story short, I've attached a small patch file to this email.
>> If I should have echoed the text to the body of this email directly, I
>> apologize in advance.
>>
>> Cheers!
>> Sincerely,
>> Joe
>> 
>
>
> --
> Jeff Squyres
> Cisco Systems
>
>


Re: [OMPI devel] [OMPI svn] svn:open-mpi r18625

2008-06-09 Thread Ralph H Castain
Okay, it's fixed now in r18629


On 6/9/08 3:23 PM, "Ralph H Castain"  wrote:

> Visibility issue - fix coming in a minute...
> 
> 
> On 6/9/08 3:10 PM, "Ralph H Castain"  wrote:
> 
>> Interesting - it compiles for me under three different environments.
>> 
>> Let me check - perhaps something isn't getting committed properly
>> 
>> 
>> On 6/9/08 3:07 PM, "Aurélien Bouteiller"  wrote:
>> 
>>> This commit looks like it does not compile.
>>> orterun.o: In function `orterun':
>>> ../../../../trunk/orte/tools/orterun/orterun.c:525: undefined
>>> reference to `orte_totalview_init_before_spawn'
>>> orterun.o: In function `job_completed':
>>> ../../../../trunk/orte/tools/orterun/orterun.c:603: undefined
>>> reference to `orte_totalview_finalize'
>>> orterun.o: In function `parse_globals':
>>> ../../../../trunk/orte/tools/orterun/orterun.c:1106: undefined
>>> reference to `orte_run_debugger'
>>> collect2: ld returned 1 exit status
>>> 
>>> Aurelien
>>> 
>>> 
>>> Le 9 juin 08 à 16:34, r...@osl.iu.edu a écrit :
>>> 
 Author: rhc
 Date: 2008-06-09 16:34:14 EDT (Mon, 09 Jun 2008)
 New Revision: 18625
 URL: https://svn.open-mpi.org/trac/ompi/changeset/18625
 
 Log:
 Refs #1255
 
 This commit repairs the debugger initialization procedure. I am not
 closing the ticket, however, pending Jeff's review of how it
 interfaces to the ompi_debugger code he implemented. There were
 duplicate symbols being created in that code, but not used anywhere.
 I replaced them with the ORTE-created symbols instead. However,
 since they aren't used anywhere, I have no way of checking to ensure
 I didn't break something.
 
 So the ticket can be checked by Jeff when he returns from
 vacation... :-)
 
 Added:
   trunk/orte/util/totalview.c
   trunk/orte/util/totalview.h
 Removed:
   trunk/orte/tools/orterun/totalview.c
   trunk/orte/tools/orterun/totalview.h
 Text files modified:
   trunk/ompi/debuggers/ompi_debuggers.c |13 +
 +---
   trunk/orte/mca/plm/base/plm_base_launch_support.c |14 
 +-
   trunk/orte/tools/orterun/Makefile.am  | 5 ++---
   trunk/orte/tools/orterun/orterun.c| 7 +--
   trunk/orte/util/Makefile.am   | 6 --
   trunk/orte/util/show_help.h   | 4 ++--
   6 files changed, 20 insertions(+), 29 deletions(-)
 
 
 Diff not shown due to size (41811 bytes).
 To see the diff, run the following command:
 
 svn diff -r 18624:18625 --no-diff-deleted
 
 ___
 svn mailing list
 s...@open-mpi.org
 http://www.open-mpi.org/mailman/listinfo.cgi/svn
>>> 
>>> 
>>> ___
>>> devel mailing list
>>> de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> 
>> 
>> 
>> ___
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> 
> ___
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel





Re: [OMPI devel] [OMPI svn] svn:open-mpi r18625

2008-06-09 Thread Ralph H Castain
Visibility issue - fix coming in a minute...


On 6/9/08 3:10 PM, "Ralph H Castain"  wrote:

> Interesting - it compiles for me under three different environments.
> 
> Let me check - perhaps something isn't getting committed properly
> 
> 
> On 6/9/08 3:07 PM, "Aurélien Bouteiller"  wrote:
> 
>> This commit looks like it does not compile.
>> orterun.o: In function `orterun':
>> ../../../../trunk/orte/tools/orterun/orterun.c:525: undefined
>> reference to `orte_totalview_init_before_spawn'
>> orterun.o: In function `job_completed':
>> ../../../../trunk/orte/tools/orterun/orterun.c:603: undefined
>> reference to `orte_totalview_finalize'
>> orterun.o: In function `parse_globals':
>> ../../../../trunk/orte/tools/orterun/orterun.c:1106: undefined
>> reference to `orte_run_debugger'
>> collect2: ld returned 1 exit status
>> 
>> Aurelien
>> 
>> 
>> Le 9 juin 08 à 16:34, r...@osl.iu.edu a écrit :
>> 
>>> Author: rhc
>>> Date: 2008-06-09 16:34:14 EDT (Mon, 09 Jun 2008)
>>> New Revision: 18625
>>> URL: https://svn.open-mpi.org/trac/ompi/changeset/18625
>>> 
>>> Log:
>>> Refs #1255
>>> 
>>> This commit repairs the debugger initialization procedure. I am not
>>> closing the ticket, however, pending Jeff's review of how it
>>> interfaces to the ompi_debugger code he implemented. There were
>>> duplicate symbols being created in that code, but not used anywhere.
>>> I replaced them with the ORTE-created symbols instead. However,
>>> since they aren't used anywhere, I have no way of checking to ensure
>>> I didn't break something.
>>> 
>>> So the ticket can be checked by Jeff when he returns from
>>> vacation... :-)
>>> 
>>> Added:
>>>   trunk/orte/util/totalview.c
>>>   trunk/orte/util/totalview.h
>>> Removed:
>>>   trunk/orte/tools/orterun/totalview.c
>>>   trunk/orte/tools/orterun/totalview.h
>>> Text files modified:
>>>   trunk/ompi/debuggers/ompi_debuggers.c |13 +
>>> +---
>>>   trunk/orte/mca/plm/base/plm_base_launch_support.c |14 
>>> +-
>>>   trunk/orte/tools/orterun/Makefile.am  | 5 ++---
>>>   trunk/orte/tools/orterun/orterun.c| 7 +--
>>>   trunk/orte/util/Makefile.am   | 6 --
>>>   trunk/orte/util/show_help.h   | 4 ++--
>>>   6 files changed, 20 insertions(+), 29 deletions(-)
>>> 
>>> 
>>> Diff not shown due to size (41811 bytes).
>>> To see the diff, run the following command:
>>> 
>>> svn diff -r 18624:18625 --no-diff-deleted
>>> 
>>> ___
>>> svn mailing list
>>> s...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/svn
>> 
>> 
>> ___
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> 
> ___
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel





Re: [OMPI devel] [OMPI svn] svn:open-mpi r18625

2008-06-09 Thread Ralph H Castain
Interesting - it compiles for me under three different environments.

Let me check - perhaps something isn't getting committed properly


On 6/9/08 3:07 PM, "Aurélien Bouteiller"  wrote:

> This commit looks like it does not compile.
> orterun.o: In function `orterun':
> ../../../../trunk/orte/tools/orterun/orterun.c:525: undefined
> reference to `orte_totalview_init_before_spawn'
> orterun.o: In function `job_completed':
> ../../../../trunk/orte/tools/orterun/orterun.c:603: undefined
> reference to `orte_totalview_finalize'
> orterun.o: In function `parse_globals':
> ../../../../trunk/orte/tools/orterun/orterun.c:1106: undefined
> reference to `orte_run_debugger'
> collect2: ld returned 1 exit status
> 
> Aurelien
> 
> 
> Le 9 juin 08 à 16:34, r...@osl.iu.edu a écrit :
> 
>> Author: rhc
>> Date: 2008-06-09 16:34:14 EDT (Mon, 09 Jun 2008)
>> New Revision: 18625
>> URL: https://svn.open-mpi.org/trac/ompi/changeset/18625
>> 
>> Log:
>> Refs #1255
>> 
>> This commit repairs the debugger initialization procedure. I am not
>> closing the ticket, however, pending Jeff's review of how it
>> interfaces to the ompi_debugger code he implemented. There were
>> duplicate symbols being created in that code, but not used anywhere.
>> I replaced them with the ORTE-created symbols instead. However,
>> since they aren't used anywhere, I have no way of checking to ensure
>> I didn't break something.
>> 
>> So the ticket can be checked by Jeff when he returns from
>> vacation... :-)
>> 
>> Added:
>>   trunk/orte/util/totalview.c
>>   trunk/orte/util/totalview.h
>> Removed:
>>   trunk/orte/tools/orterun/totalview.c
>>   trunk/orte/tools/orterun/totalview.h
>> Text files modified:
>>   trunk/ompi/debuggers/ompi_debuggers.c |13 +
>> +---
>>   trunk/orte/mca/plm/base/plm_base_launch_support.c |14 
>> +-
>>   trunk/orte/tools/orterun/Makefile.am  | 5 ++---
>>   trunk/orte/tools/orterun/orterun.c| 7 +--
>>   trunk/orte/util/Makefile.am   | 6 --
>>   trunk/orte/util/show_help.h   | 4 ++--
>>   6 files changed, 20 insertions(+), 29 deletions(-)
>> 
>> 
>> Diff not shown due to size (41811 bytes).
>> To see the diff, run the following command:
>> 
>> svn diff -r 18624:18625 --no-diff-deleted
>> 
>> ___
>> svn mailing list
>> s...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/svn
> 
> 
> ___
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel





Re: [OMPI devel] [OMPI svn-full] svn:open-mpi r18607

2008-06-09 Thread George Bosilca


On Jun 9, 2008, at 11:50 AM, Jeff Squyres wrote:


Please search through the archives of this list; as Brian mentioned,
this topic has come up several times before.  It's fairly boring to
keep repeating the same arguments; we have lots of *new* things to
argue about these days.  ;-)


Unfortunately, I'm unable to find any trace of such discussion on the  
mailing lists (I checked users and devel). If someone can pinpoint me  
to the discussion thread I'll gladly read it.


I completely agree that we should follow the standard to the greatest  
possible extend, but then at least we should have our test codes  
following the same guidelines. It doesn't means I volunteer for  
anything ...


  george.






On Jun 9, 2008, at 10:44 AM, George Bosilca wrote:


Rainer,

The snippet from the MPICH2 is irrelevant to the current discussion.
It only concern set empty status. A quick grep in the MPICH2 source
code (find . -name "*.[ch]" -exec grep -Hn MPI_ERROR {} \;) shows
that they ALWAYS set the MPI_ERROR field in the status if they
detect something wrong.

george.

On Jun 9, 2008, at 4:17 AM, Rainer Keller wrote:


Hi,
that's one of the mysteries of the MPI-1 standard.

Nevertheless, we should be std. conforming. Therefore, I included
the comment
and omitted the setting of .MPI_ERROR.

MPIch2 does not for the same reasons. Therefore I would say the
tests are
wrong.

With best regards,
Rainer


PS: e.g. from mpich2-1.0.7:
include/mpiimpl.h:2112
/* Do not set MPI_ERROR (only set if ERR_IN_STATUS is returned */
#define MPIR_Status_set_empty(status_)  \
{   \
 if ((status_) != MPI_STATUS_IGNORE) \
 {   \
 (status_)->MPI_SOURCE = MPI_ANY_SOURCE; \
 (status_)->MPI_TAG = MPI_ANY_TAG;   \
 (status_)->count = 0;   \
 (status_)->cancelled = FALSE;   \
 }   \
}




On Sonntag, 8. Juni 2008, George Bosilca wrote:

Here is what the MPI standard state:

"In general, message passing calls do not modify the value of the
error code field of status variables. This field may be updated  
only

by the functions in Section 3.7.5 which return multiple statuses.
The
field is updated if and only if such function returns with an error
code of MPI ERR IN STATUS.

Rationale. The error field in status is not needed for calls that
return only one status, such as MPI WAIT, since that would only
duplicate the information returned by the function itself. The
current
design avoids the additional overhead of setting it, in such cases.
The field is needed for calls that return multiple statuses, since
each request may have had a different failure. (End of rationale.)"

First, the sentence start with "In general" which is not a limiting
statement, it absolutely doesn't state that the field doesn't have
to
be set. Second, the reason cited in the rationale is completely
fake.
We're talking about one store instruction, while the simple usage  
of

the status will generate a cache miss.

On the other side, a simple grep in the ompi-tests shows that
hundreds
of tests use this MPI_ERROR over the return value. If test writers
(which are supposed to know the standard quite well), do such
things,
I wonder how can we expect that the users will never do it.

george.

On Jun 6, 2008, at 12:04 PM, Brian Barrett wrote:

Since this is not the first or second time we've had the
discussion in
the group, perhaps a comment in the code would be a good idea :).

Brian

On Jun 6, 2008, at 9:58 AM, Jeff Squyres wrote:

George --

This is not correct.  Note the comment that says to see MPI-1.2
section 3.2.5 page 22 (I think it means MPI-1.1).  It says:

"In general, message passing calls do not modify the value of the
error code field of status variables.  This field may be updated
only
by the functions in Section 3.7.5 which return multiple  
statuses."


So we should not be setting status.MPI_ERROR here; you should
check
the return value from MPI_WAIT to get the error code.

On Jun 6, 2008, at 11:53 AM, bosi...@osl.iu.edu wrote:

Author: bosilca
Date: 2008-06-06 11:53:17 EDT (Fri, 06 Jun 2008)
New Revision: 18607
URL: https://svn.open-mpi.org/trac/ompi/changeset/18607

Log:
Update the MPI_ERROR field as well.

Text files modified:
trunk/ompi/request/req_wait.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

Modified: trunk/ompi/request/req_wait.c
=
=
=
=
=
=
=
=
=
=
=
=
=
= 


--- trunk/ompi/request/req_wait.c   (original)
+++ trunk/ompi/request/req_wait.c   2008-06-06 11:53:17 EDT (Fri,
06
Jun 2008)
@@ -50,6 +50,7 @@
   /* See MPI-1.2, sec 3.2.5, p.22 */
   status->MPI_TAG= req->req_status.MPI_TAG;
   status->MPI_SOURCE = req->req_status.MPI_SOURCE;
+status->MPI_ERROR  = req->req_status.MPI_ERROR;
   status->_count