[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.2-13-geed0072

mysql vizuser noreply at mpich.org
Wed Feb 6 16:14:12 CST 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".

The branch, master has been updated
       via  eed007281d4eca1e8bd662022a91526fb789b6bc (commit)
       via  748c0ae2a2abd424f81724d844c9c054b9126748 (commit)
       via  e12f4293d0ab09f512b9fe091e96ce98b0532b6f (commit)
      from  9aa1c31b967e80344719fcb02dff7a9a05045b09 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/eed007281d4eca1e8bd662022a91526fb789b6bc

commit eed007281d4eca1e8bd662022a91526fb789b6bc
Author: Dave Goodell <goodell at mcs.anl.gov>
Date:   Wed Feb 6 16:11:45 2013 -0600

    ROMIO: fix buffer/datatype mismatch in Isend/Irecv
    
    Caught by the cool new type checking annotations in our `mpi.h` header
    that work with modern clang versions.
    
    No reviewer.

diff --git a/src/mpi/romio/adio/common/ad_coll_exch_new.c b/src/mpi/romio/adio/common/ad_coll_exch_new.c
index a2f32d7..10a441c 100644
--- a/src/mpi/romio/adio/common/ad_coll_exch_new.c
+++ b/src/mpi/romio/adio/common/ad_coll_exch_new.c
@@ -396,7 +396,7 @@ void ADIOI_Exch_file_views(int myrank, int nprocs, int file_ptr_type,
 			  INDICES, fd->comm, &recv_req_arr[j]);
 		j++;
 		MPI_Irecv(client_file_view_state_arr[i].flat_type_p->blocklens,
-			  recv_count_arr[i].count, MPI_INT, i, 
+			  recv_count_arr[i].count, ADIO_OFFSET, i,
 			  BLOCK_LENS, fd->comm, &recv_req_arr[j]);
 		j++;
 	    }
@@ -412,7 +412,7 @@ void ADIOI_Exch_file_views(int myrank, int nprocs, int file_ptr_type,
                       INDICES, fd->comm, &send_req_arr[j]);
 	        j++;
 	        MPI_Isend(flat_file_p->blocklens,         
-		      send_count_arr[i].count, MPI_INT, i,
+		      send_count_arr[i].count, ADIO_OFFSET, i,
                       BLOCK_LENS, fd->comm, &send_req_arr[j]);
 	        j++;
 	    }
@@ -427,7 +427,7 @@ void ADIOI_Exch_file_views(int myrank, int nprocs, int file_ptr_type,
 		      &send_req_arr[j]);
 	        j++;
 	        MPI_Isend(flat_file_p->blocklens,         
-		      send_count_arr[i].count, MPI_INT,
+		      send_count_arr[i].count, ADIO_OFFSET,
 		      fd->hints->ranklist[i], BLOCK_LENS, fd->comm,
 		      &send_req_arr[j]);
 	        j++;

http://git.mpich.org/mpich.git/commitdiff/748c0ae2a2abd424f81724d844c9c054b9126748

commit 748c0ae2a2abd424f81724d844c9c054b9126748
Author: Dave Goodell <goodell at mcs.anl.gov>
Date:   Wed Feb 6 16:10:19 2013 -0600

    hydra: squash loop warning from modern clang
    
    `-Wempty-body` will cause this, and is enabled by default in modern
    clang when configuring MPICH with `--enable-strict`.
    
    No reviewer.

diff --git a/src/pm/hydra/ui/mpich/mpiexec.c b/src/pm/hydra/ui/mpich/mpiexec.c
index c238ce0..e9f01e1 100644
--- a/src/pm/hydra/ui/mpich/mpiexec.c
+++ b/src/pm/hydra/ui/mpich/mpiexec.c
@@ -101,7 +101,8 @@ static HYD_status qsort_node_list(void)
     int count, i;
     HYD_status status = HYD_SUCCESS;
 
-    for (count = 0, node = HYD_server_info.node_list; node; node = node->next, count++);
+    for (count = 0, node = HYD_server_info.node_list; node; node = node->next, count++)
+        /* skip */;
 
     HYDU_MALLOC(node_list, struct HYD_node **, count * sizeof(struct HYD_node *), status);
     for (i = 0, node = HYD_server_info.node_list; node; node = node->next, i++)

http://git.mpich.org/mpich.git/commitdiff/e12f4293d0ab09f512b9fe091e96ce98b0532b6f

commit e12f4293d0ab09f512b9fe091e96ce98b0532b6f
Author: Dave Goodell <goodell at mcs.anl.gov>
Date:   Mon Feb 4 23:57:16 2013 -0600

    fix Fortran MPI_WEIGHTS_EMPTY initialization
    
    We were not communicating the MPI_WEIGHTS_EMPTY common block value to C
    via the `mpirinitc_` routine.  Also fix a minor warning about the C struct
    static initializer when `HAVE_C_MULTI_ATTR_ALIAS` is defined, as it
    usually is on Linux.
    
    The existing `dgraph_unwgtf` test does not catch this case.  AFAICS,
    there is no black-box way to test this behavior using only the MPI
    interface provided that the MPI library correctly implements
    `MPI_UNWEIGHTED` handling, since the MPI implementation is forbidden to
    inspect the pointer value other than to check whether it is
    `MPI_UNWEIGHTED`.  The best idea I've come up with so far is to create a
    sanity check routine that we can call from Fortran that ensures all
    Fortran-C interoperability constants are correctly recognized, but even
    that's a pretty weak test, since it must also be updated whenever a new
    Fortran common block is added.  This will have to do for now...
    
    Follow-up to [d6ceef9].
    
    Reviewed-by: dinan

diff --git a/src/binding/f77/setbot.c.in b/src/binding/f77/setbot.c.in
index 720f123..da4a91c 100644
--- a/src/binding/f77/setbot.c.in
+++ b/src/binding/f77/setbot.c.in
@@ -17,12 +17,15 @@
 #define mpirinitc2_ mpirinitc2
 #endif
 /* These functions are called from Fortran so only need prototypes in 
-   this file.  Note that the last argument is a character array, so
+   this file.  Note that the second-to-last argument is a character array, so
    we need to include the elements of the Fortran character "dope vector".
 */
-FORT_DLL_SPEC void FORT_CALL mpirinitc_( void *, void *, void *, void *, void *,
-                                         void *, void * FORT_MIXED_LEN_DECL 
-                                         FORT_END_LEN_DECL );
+FORT_DLL_SPEC void FORT_CALL mpirinitc_( void *si, void *ssi,
+                                         void *bt, void *ip,
+                                         void *uw, void *ecsi,
+                                         void *asn FORT_MIXED_LEN(d1),
+                                         void *we
+                                         FORT_END_LEN(d1));
 FORT_DLL_SPEC void FORT_CALL mpirinitc2_( char * FORT_MIXED_LEN_DECL 
                                           FORT_END_LEN_DECL );
 
@@ -67,8 +70,9 @@ void *MPIR_F_MPI_WEIGHTS_EMPTY = 0;
 FORT_DLL_SPEC void FORT_CALL mpirinitc_( void *si, void *ssi,
                                          void *bt, void *ip, 
                                          void *uw, void *ecsi, 
-                                         void *asn FORT_MIXED_LEN(d1) 
-                                         FORT_END_LEN(d1) )
+                                         void *asn FORT_MIXED_LEN(d1),
+                                         void *we
+                                         FORT_END_LEN(d1))
 {
     MPI_F_STATUS_IGNORE   = (MPI_Fint *) si;
     MPI_F_STATUSES_IGNORE = (MPI_Fint *) ssi;
@@ -77,6 +81,7 @@ FORT_DLL_SPEC void FORT_CALL mpirinitc_( void *si, void *ssi,
     MPIR_F_MPI_UNWEIGHTED = uw;
     MPI_F_ERRCODES_IGNORE = (MPI_Fint *)ecsi;
     MPI_F_ARGVS_NULL      = asn;
+    MPIR_F_MPI_WEIGHTS_EMPTY = we;
 }
 /* Initialize the Fortran ARGV_NULL to a blank.  Using this routine
    avoids potential problems with string manipulation routines that
@@ -201,7 +206,7 @@ struct mpif_cmblk9_t_ {
     MPI_Fint MPIF_WEIGHTS_EMPTY;
 };
 typedef struct mpif_cmblk9_t_ mpif_cmblk9_t;
-mpif_cmblk9_t mpifcmb9r @CMB_1INT_ALIGNMENT@ = {{0}};
+mpif_cmblk9_t mpifcmb9r @CMB_1INT_ALIGNMENT@ = {0};
 extern mpif_cmblk9_t _CMPIFCMB9  __attribute__ ((alias("mpifcmb9r")));
 extern mpif_cmblk9_t   MPIFCMB9  __attribute__ ((alias("mpifcmb9r")));
 extern mpif_cmblk9_t   MPIFCMB9_ __attribute__ ((alias("mpifcmb9r")));
diff --git a/src/binding/f77/setbotf.f.in b/src/binding/f77/setbotf.f.in
index 3c5398f..3053acf 100644
--- a/src/binding/f77/setbotf.f.in
+++ b/src/binding/f77/setbotf.f.in
@@ -21,12 +21,13 @@ C      ARGVS_NULL, ARGV_NULL
        common /MPIFCMB6/ ecsi
        common /MPIFCMB7/ asn, pads_a
        common /MPIFCMB8/ an, pads_b
+       common /MPIFCMB9/ we
        save /MPIFCMB1/,/MPIFCMB2/
        save /MPIFCMB3/,/MPIFCMB4/,/MPIFCMB5/,/MPIFCMB6/
-       save /MPIFCMB7/,/MPIFCMB8/
+       save /MPIFCMB7/,/MPIFCMB8/,/MPIFCMB9/
 C      MPI_ARGVS_NULL 
 C      (Fortran requires character data in a separate common block)
-       call mpirinitc(si, ssi, bt, ip, uw, ecsi, asn)
+       call mpirinitc(si, ssi, bt, ip, uw, ecsi, asn, we)
        call mpirinitc2(an)
        return
        end

-----------------------------------------------------------------------

Summary of changes:
 src/binding/f77/setbot.c.in                  |   19 ++++++++++++-------
 src/binding/f77/setbotf.f.in                 |    5 +++--
 src/mpi/romio/adio/common/ad_coll_exch_new.c |    6 +++---
 src/pm/hydra/ui/mpich/mpiexec.c              |    3 ++-
 4 files changed, 20 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list