[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-42-g0d61a10
Service Account
noreply at mpich.org
Thu Mar 13 11:28:11 CDT 2014
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 0d61a1032115c1a380d967c46d9e39c1bfcda2e1 (commit)
from 5477bbdcae1101334d78e12cbde1ac295c83811d (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/0d61a1032115c1a380d967c46d9e39c1bfcda2e1
commit 0d61a1032115c1a380d967c46d9e39c1bfcda2e1
Author: Sameh Sharkawi <sssharka at us.ibm.com>
Date: Thu Mar 13 10:00:38 2014 -0400
OOM running broadcast stress test w/ COLLECTIVE_SELECTION=yes
Insert a barrier for every 16 calls to async collectives
(ibm) D192641
Signed-off-by: Michael Blocksome <blocksom at us.ibm.com>
diff --git a/src/mpid/pamid/src/coll/allgather/mpido_allgather.c b/src/mpid/pamid/src/coll/allgather/mpido_allgather.c
index a65181c..517f20e 100644
--- a/src/mpid/pamid/src/coll/allgather/mpido_allgather.c
+++ b/src/mpid/pamid/src/coll/allgather/mpido_allgather.c
@@ -611,6 +611,12 @@ MPIDO_Allgather_simple(const void *sendbuf,
volatile unsigned allgather_active = 1;
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
const pami_metadata_t *my_md;
@@ -642,6 +648,14 @@ MPIDO_Allgather_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c b/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c
index b8ab1ef..1663f8f 100644
--- a/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c
+++ b/src/mpid/pamid/src/coll/allgatherv/mpido_allgatherv.c
@@ -648,6 +648,12 @@ MPIDO_Allgatherv_simple(const void *sendbuf,
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
int recvcontinuous=0;
size_t totalrecvcount=0;
@@ -683,6 +689,14 @@ MPIDO_Allgatherv_simple(const void *sendbuf,
recvbuf, recvcounts, displs, recvtype,
comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c b/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c
index 354fe71..1e45d58 100644
--- a/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c
+++ b/src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c
@@ -250,6 +250,12 @@ int MPIDO_Alltoall_simple(const void *sendbuf,
int tmp;
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (comm_ptr->rank == 0);
+#endif
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
@@ -269,6 +275,14 @@ int MPIDO_Alltoall_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c b/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c
index 76b45a5..adf3157 100644
--- a/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c
+++ b/src/mpid/pamid/src/coll/alltoallv/mpido_alltoallv.c
@@ -429,6 +429,12 @@ int MPIDO_Alltoallv_simple(const void *sendbuf,
int tmp;
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
int sendcontinuous , recvcontinuous=0;
size_t recv_size=0, send_size=0;
@@ -467,6 +473,14 @@ int MPIDO_Alltoallv_simple(const void *sendbuf,
recvbuf, recvcounts, recvdispls, recvtype,
comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/bcast/mpido_bcast.c b/src/mpid/pamid/src/coll/bcast/mpido_bcast.c
index 05d0c60..0c2730e 100644
--- a/src/mpid/pamid/src/coll/bcast/mpido_bcast.c
+++ b/src/mpid/pamid/src/coll/bcast/mpido_bcast.c
@@ -288,6 +288,12 @@ int MPIDO_Bcast_simple(void *buffer,
MPIDI_Post_coll_t bcast_post;
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
const int rank = comm_ptr->rank;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
/* Must calculate data_size based on count=1 in case it's total size is > integer */
int data_size_one;
@@ -303,6 +309,14 @@ int MPIDO_Bcast_simple(void *buffer,
{
return MPIR_Bcast_intra(buffer, count, datatype, root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/gather/mpido_gather.c b/src/mpid/pamid/src/coll/gather/mpido_gather.c
index 7ff1807..7e508d8 100644
--- a/src/mpid/pamid/src/coll/gather/mpido_gather.c
+++ b/src/mpid/pamid/src/coll/gather/mpido_gather.c
@@ -402,6 +402,12 @@ int MPIDO_Gather_simple(const void *sendbuf,
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
if(sendbuf != MPI_IN_PLACE)
{
@@ -419,6 +425,14 @@ int MPIDO_Gather_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
@@ -453,6 +467,15 @@ int MPIDO_Gather_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
+
}
}
}
diff --git a/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c b/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c
index d7b9764..0c2556a 100644
--- a/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c
+++ b/src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c
@@ -270,6 +270,12 @@ int MPIDO_Gatherv_simple(const void *sendbuf,
volatile unsigned gatherv_active = 1;
const int rank = comm_ptr->rank;
const int size = comm_ptr->local_size;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
int recvok=PAMI_SUCCESS, recvcontinuous=0;
@@ -290,6 +296,14 @@ int MPIDO_Gatherv_simple(const void *sendbuf,
recvbuf, recvcounts, displs, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
@@ -324,6 +338,14 @@ int MPIDO_Gatherv_simple(const void *sendbuf,
recvbuf, recvcounts, displs, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
}
diff --git a/src/mpid/pamid/src/coll/reduce/mpido_reduce.c b/src/mpid/pamid/src/coll/reduce/mpido_reduce.c
index 5a53b48..9a0055e 100644
--- a/src/mpid/pamid/src/coll/reduce/mpido_reduce.c
+++ b/src/mpid/pamid/src/coll/reduce/mpido_reduce.c
@@ -270,6 +270,13 @@ int MPIDO_Reduce_simple(const void *sendbuf,
pami_type_t pdt;
int rc;
int alg_selected = 0;
+ const int rank = comm_ptr->rank;
+#if ASSERT_LEVEL==0
+ /* We can't afford the tracing in ndebug/performance libraries */
+ const unsigned verbose = 0;
+#else
+ const unsigned verbose = (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL) && (rank == 0);
+#endif
const struct MPIDI_Comm* const mpid = &(comm_ptr->mpid);
@@ -284,6 +291,14 @@ int MPIDO_Reduce_simple(const void *sendbuf,
{
return MPIR_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ if(unlikely(verbose))
+ fprintf(stderr,"Query barrier required for %s\n", advisor_algorithms[0].metadata->name);
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/scan/mpido_scan.c b/src/mpid/pamid/src/coll/scan/mpido_scan.c
index 429b355..a6452dc 100644
--- a/src/mpid/pamid/src/coll/scan/mpido_scan.c
+++ b/src/mpid/pamid/src/coll/scan/mpido_scan.c
@@ -299,6 +299,12 @@ int MPIDO_Doscan_simple(const void *sendbuf, void *recvbuf,
else
return MPIR_Scan(sendbuf, recvbuf, count, datatype, op, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
diff --git a/src/mpid/pamid/src/coll/scatter/mpido_scatter.c b/src/mpid/pamid/src/coll/scatter/mpido_scatter.c
index 58d371f..b96dc92 100644
--- a/src/mpid/pamid/src/coll/scatter/mpido_scatter.c
+++ b/src/mpid/pamid/src/coll/scatter/mpido_scatter.c
@@ -367,6 +367,12 @@ int MPIDO_Scatter_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
}
}
}
@@ -387,6 +393,13 @@ int MPIDO_Scatter_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
+
}
}
}
diff --git a/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c b/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c
index 26b8056..ae0a0aa 100644
--- a/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c
+++ b/src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c
@@ -492,6 +492,13 @@ int MPIDO_Scatterv_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
+
}
}
}
@@ -512,6 +519,13 @@ int MPIDO_Scatterv_simple(const void *sendbuf,
recvbuf, recvcount, recvtype,
root, comm_ptr, mpierrno);
}
+ else if(advisor_algorithms[0].metadata && advisor_algorithms[0].metadata->check_correct.values.asyncflowctl && !(--(comm_ptr->mpid.num_requests)))
+ {
+ comm_ptr->mpid.num_requests = MPIDI_Process.optimized.num_requests;
+ int tmpmpierrno;
+ MPIDO_Barrier(comm_ptr, &tmpmpierrno);
+ }
+
}
}
}
diff --git a/src/mpid/pamid/src/mpid_init.c b/src/mpid/pamid/src/mpid_init.c
index 6abb609..f95dc0e 100644
--- a/src/mpid/pamid/src/mpid_init.c
+++ b/src/mpid/pamid/src/mpid_init.c
@@ -125,7 +125,7 @@ MPIDI_Process_t MPIDI_Process = {
.subcomms = 1,
.select_colls = 2,
.memory = 0,
- .num_requests = 1,
+ .num_requests = 16,
},
.mpir_nbc = 1,
-----------------------------------------------------------------------
Summary of changes:
.../pamid/src/coll/allgather/mpido_allgather.c | 14 ++++++++++++
.../pamid/src/coll/allgatherv/mpido_allgatherv.c | 14 ++++++++++++
src/mpid/pamid/src/coll/alltoall/mpido_alltoall.c | 14 ++++++++++++
.../pamid/src/coll/alltoallv/mpido_alltoallv.c | 14 ++++++++++++
src/mpid/pamid/src/coll/bcast/mpido_bcast.c | 14 ++++++++++++
src/mpid/pamid/src/coll/gather/mpido_gather.c | 23 ++++++++++++++++++++
src/mpid/pamid/src/coll/gatherv/mpido_gatherv.c | 22 +++++++++++++++++++
src/mpid/pamid/src/coll/reduce/mpido_reduce.c | 15 +++++++++++++
src/mpid/pamid/src/coll/scan/mpido_scan.c | 6 +++++
src/mpid/pamid/src/coll/scatter/mpido_scatter.c | 13 +++++++++++
src/mpid/pamid/src/coll/scatterv/mpido_scatterv.c | 14 ++++++++++++
src/mpid/pamid/src/mpid_init.c | 2 +-
12 files changed, 164 insertions(+), 1 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list