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/eed007281d4eca1e8bd662022a91526fb7... commit eed007281d4eca1e8bd662022a91526fb789b6bc Author: Dave Goodell <[email protected]> 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/748c0ae2a2abd424f81724d844c9c054b9... commit 748c0ae2a2abd424f81724d844c9c054b9126748 Author: Dave Goodell <[email protected]> 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/e12f4293d0ab09f512b9fe091e96ce98b0... commit e12f4293d0ab09f512b9fe091e96ce98b0532b6f Author: Dave Goodell <[email protected]> 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