If you really want to have a fully featured barrier why not using the collective barrier ? This double ring barrier have really bad performance, and it will became a real scalability issue.

Or do we really need to force this particular connection shape (left & right) ?

  george.

Modified: trunk/ompi/runtime/ompi_mpi_preconnect.c
======================================================================== ======
--- trunk/ompi/runtime/ompi_mpi_preconnect.c    (original)
+++ trunk/ompi/runtime/ompi_mpi_preconnect.c 2007-07-17 21:15:59 EDT (Tue, 17 Jul 2007)
@@ -78,6 +78,22 @@

         ret = ompi_request_wait_all(2, requests, MPI_STATUSES_IGNORE);
         if (OMPI_SUCCESS != ret) return ret;
+
+        ret = MCA_PML_CALL(isend(outbuf, 1, MPI_CHAR,
+                                 next, 1,
+                                 MCA_PML_BASE_SEND_COMPLETE,
+                                 MPI_COMM_WORLD,
+                                 &requests[1]));
+        if (OMPI_SUCCESS != ret) return ret;
+
+        ret = MCA_PML_CALL(irecv(inbuf, 1, MPI_CHAR,
+                                 prev, 1,
+                                 MPI_COMM_WORLD,
+                                 &requests[0]));
+        if(OMPI_SUCCESS != ret) return ret;
+
+        ret = ompi_request_wait_all(2, requests, MPI_STATUSES_IGNORE);
+        if (OMPI_SUCCESS != ret) return ret;
     }

     return ret;


On Jul 17, 2007, at 9:16 PM, jsquy...@osl.iu.edu wrote:

Author: jsquyres
Date: 2007-07-17 21:15:59 EDT (Tue, 17 Jul 2007)
New Revision: 15474
URL: https://svn.open-mpi.org/trac/ompi/changeset/15474

Reply via email to