[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