In fact, if you find any internal Open MPI code which call directly the MPI functions you should raise the flag. It's a design choice, the MPI API is for the users, when you need to call any MPI like functions from inside ompi you need to take another path. In the collectives we're using the PML macros. One of the reasons is performance. We know that the arguments for the functions we call are correct, so there is no reason to check them. For this particular case, the collective modules never call the PML with the request set to NULL, instead we're using the MPI_REQUEST_NULL.

  george.


On Apr 24, 2007, at 2:46 PM, Josh Hursey wrote:

Actually, after doing a quick grep through the code base it seems
that the tuned collectives use the PML start interface without going
through the MPI level call (as far as I could tell). So since I don't
know the full impact of such a change I'm going to not make this
change and leave it for someone more knowledgeable in those systems
to do so. Someone else can better ensure proper testing of the impact
of this change.

Sorry,
Josh

On Apr 20, 2007, at 4:05 PM, Josh Hursey wrote:

Yeah I was not actually sure what the standard said about passing an
array of requests and having one of the elements be NULL. This just
seemed like a subtle bug when I was looking through the code.

Taking a quick look at the check in mpi/c/startall.c it seems that we
do check for this case there and error out if any element is NULL, so
I agree that we can just remove this from the file. If no one gets to
it before tomorrow sometime (or there are objections) then I'll take
the NULL check out.

Cheers,
Josh

On Apr 20, 2007, at 3:28 PM, George Bosilca wrote:

I think the NULL test is a left over from long ago. At one point in
the
past we decided that all MPI related tests have to be done outside
the PML
functions (i.e. in the MPI layer). The test for request == NULL is
present
in the start.c and startall.c. Anywhere else (i.e. where we use
internally
the pml_start call) we can make sure that this doesn't happens.
Therefore,
the test can be safely removed from the startall function.

   george.


On Fri, 20 Apr 2007, jjhur...@osl.iu.edu wrote:

Author: jjhursey
Date: 2007-04-20 13:17:11 EDT (Fri, 20 Apr 2007)
New Revision: 14444
URL: https://svn.open-mpi.org/trac/ompi/changeset/14444

Log:
Check for NULL before trying to use the variable.


Text files modified:
  trunk/ompi/mca/pml/ob1/pml_ob1_start.c |     4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

Modified: trunk/ompi/mca/pml/ob1/pml_ob1_start.c
=================================================================== =
=
=========
--- trunk/ompi/mca/pml/ob1/pml_ob1_start.c      (original)
+++ trunk/ompi/mca/pml/ob1/pml_ob1_start.c      2007-04-20 13:17:11 EDT
(Fri, 20 Apr 2007)
@@ -32,11 +32,11 @@

    for(i=0; i<count; i++) {
        mca_pml_base_request_t *pml_request =
(mca_pml_base_request_t*)requests[i];
+        if(NULL == pml_request)
+            continue;
        if (OMPI_REQUEST_PML != requests[i]->req_type) {
            continue;
        }
-        if(NULL == pml_request)
-            continue;

        /* If the persistent request is currently active - obtain
the
         * request lock and verify the status is incomplete. if the
_______________________________________________
svn mailing list
s...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/svn


"We must accept finite disappointment, but we must never lose
infinite
hope."
                                   Martin Luther King

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

----
Josh Hursey
jjhur...@open-mpi.org
http://www.open-mpi.org/

_______________________________________________
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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to