commits
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
September 2016
- 1 participants
- 27 discussions
[mpich] MPICH primary repository branch, mpich-dev/mytests, created. v3.2-448-g3579e4c
by noreply@mpich.org 15 Sep '16
by noreply@mpich.org 15 Sep '16
15 Sep '16
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, mpich-dev/mytests has been created
at 3579e4c003ca80093dcfebac334045ffecffe218 (commit)
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/3579e4c003ca80093dcfebac334045ffe…
commit 3579e4c003ca80093dcfebac334045ffecffe218
Author: Min Si <msi(a)anl.gov>
Date: Mon Sep 12 23:38:24 2016 -0500
Added win_alloc version for all tests under error/rma.
diff --git a/test/mpi/errors/rma/Makefile.am b/test/mpi/errors/rma/Makefile.am
index 80eaed1..43517d0 100644
--- a/test/mpi/errors/rma/Makefile.am
+++ b/test/mpi/errors/rma/Makefile.am
@@ -24,5 +24,52 @@ noinst_PROGRAMS = \
win_sync_lock_pt \
win_sync_lock_fence \
win_sync_nested \
- win_sync_op
+ win_sync_op \
+ winalloc_err \
+ winalloc_err2 \
+ winalloc_cas_type_check \
+ winalloc_sync_unlock \
+ winalloc_sync_free_pt \
+ winalloc_sync_free_at \
+ winalloc_sync_complete \
+ winalloc_sync_lock_at \
+ winalloc_sync_lock_pt \
+ winalloc_sync_lock_fence \
+ winalloc_sync_nested \
+ winalloc_sync_op
+winalloc_err_SOURCES = winerr.c
+winalloc_err_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_err2_SOURCES = winerr2.c
+winalloc_err2_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_cas_type_check_SOURCES = cas_type_check.c
+winalloc_cas_type_check_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_unlock_SOURCES = win_sync_unlock.c
+winalloc_sync_unlock_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_free_pt_SOURCES = win_sync_free_pt.c
+winalloc_sync_free_pt_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_free_at_SOURCES = win_sync_free_at.c
+winalloc_sync_free_at_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_complete_SOURCES = win_sync_complete.c
+winalloc_sync_complete_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_lock_at_SOURCES = win_sync_lock_at.c
+winalloc_sync_lock_at_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_lock_pt_SOURCES = win_sync_lock_pt.c
+winalloc_sync_lock_pt_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_lock_fence_SOURCES = win_sync_lock_fence.c
+winalloc_sync_lock_fence_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_nested_SOURCES = win_sync_nested.c
+winalloc_sync_nested_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
+
+winalloc_sync_op_SOURCES = win_sync_op.c
+winalloc_sync_op_CPPFLAGS = -DTEST_WIN_ALLOC $(AM_CPPFLAGS)
diff --git a/test/mpi/errors/rma/cas_type_check.c b/test/mpi/errors/rma/cas_type_check.c
index eb0b1fb..ebe0143 100644
--- a/test/mpi/errors/rma/cas_type_check.c
+++ b/test/mpi/errors/rma/cas_type_check.c
@@ -8,18 +8,19 @@
#include <stdio.h>
#include <assert.h>
#include "mpitest.h"
+#include "win_create.h"
#define CAS_CHECK_TYPE(c_type, mpi_type, expected_err) \
do { \
int err, err_class, i; \
c_type val, cmp_val; \
- c_type buf, res; \
+ c_type buf, res, *bufptr = &buf; \
MPI_Win win; \
\
val = cmp_val = buf = 0; \
\
- MPI_Win_create(&buf, sizeof(c_type), sizeof(c_type), \
- MPI_INFO_NULL, MPI_COMM_WORLD, &win); \
+ WIN_CREATE(bufptr, sizeof(c_type), sizeof(c_type), \
+ MPI_INFO_NULL, MPI_COMM_WORLD, &win);\
\
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN); \
\
diff --git a/test/mpi/errors/rma/testlist b/test/mpi/errors/rma/testlist
index 5fd1788..6a21b41 100644
--- a/test/mpi/errors/rma/testlist
+++ b/test/mpi/errors/rma/testlist
@@ -10,3 +10,15 @@ win_sync_lock_pt 2
win_sync_lock_fence 2
win_sync_nested 2
win_sync_op 2
+winalloc_err 2
+winalloc_err2 2
+winalloc_cas_type_check 2
+winalloc_sync_unlock 2
+winalloc_sync_free_pt 2
+winalloc_sync_free_at 2
+winalloc_sync_complete 2
+winalloc_sync_lock_at 2
+winalloc_sync_lock_pt 2
+winalloc_sync_lock_fence 2
+winalloc_sync_nested 2
+winalloc_sync_op 2
\ No newline at end of file
diff --git a/test/mpi/errors/rma/win_create.h b/test/mpi/errors/rma/win_create.h
new file mode 100644
index 0000000..f73242e
--- /dev/null
+++ b/test/mpi/errors/rma/win_create.h
@@ -0,0 +1,17 @@
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ * (C) 2015 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+#ifndef WIN_CREATE_H_
+#define WIN_CREATE_H_
+
+#ifdef TEST_WIN_ALLOC
+#define WIN_CREATE(bufptr_,size_, disp_, info_, comm_, winptr_) \
+ MPI_Win_allocate(size_, disp_, info_, comm_, &bufptr_, winptr_)
+#else
+#define WIN_CREATE(bufptr_,size_, disp_, info_, comm_, winptr_) \
+ MPI_Win_create(bufptr_, size_, disp_, info_, comm_, winptr_)
+#endif
+
+#endif /* WIN_CREATE_H_ */
diff --git a/test/mpi/errors/rma/win_sync_complete.c b/test/mpi/errors/rma/win_sync_complete.c
index 2684043..1a6ed01 100644
--- a/test/mpi/errors/rma/win_sync_complete.c
+++ b/test/mpi/errors/rma/win_sync_complete.c
@@ -8,18 +8,19 @@
#include <stdio.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank;
int errors = 0, all_errors = 0;
- int buf = 0;
+ int buf = 0, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_free_at.c b/test/mpi/errors/rma/win_sync_free_at.c
index 92124bb..a8a729a 100644
--- a/test/mpi/errors/rma/win_sync_free_at.c
+++ b/test/mpi/errors/rma/win_sync_free_at.c
@@ -9,12 +9,13 @@
#include <stdlib.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank, nproc, i;
int errors = 0, all_errors = 0;
- int buf = 0, *my_buf;
+ int buf = 0, *my_buf, *bufptr = &buf;
MPI_Win win;
MPI_Group world_group;
@@ -22,7 +23,7 @@ int main(int argc, char *argv[])
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_free_pt.c b/test/mpi/errors/rma/win_sync_free_pt.c
index 9d81b3d..8b5869d 100644
--- a/test/mpi/errors/rma/win_sync_free_pt.c
+++ b/test/mpi/errors/rma/win_sync_free_pt.c
@@ -8,19 +8,19 @@
#include <stdio.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank;
int errors = 0, all_errors = 0;
- int buf = 0;
+ int buf = 0, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
-
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
MPI_Win_lock(MPI_LOCK_SHARED, 0, MPI_MODE_NOCHECK, win);
diff --git a/test/mpi/errors/rma/win_sync_lock_at.c b/test/mpi/errors/rma/win_sync_lock_at.c
index 1e1511f..212e881 100644
--- a/test/mpi/errors/rma/win_sync_lock_at.c
+++ b/test/mpi/errors/rma/win_sync_lock_at.c
@@ -9,12 +9,13 @@
#include <stdlib.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank, nproc, i;
int errors = 0, all_errors = 0;
- int buf = 0, *my_buf;
+ int buf = 0, *my_buf, *bufptr = &buf;
MPI_Win win;
MPI_Group world_group;
@@ -22,7 +23,7 @@ int main(int argc, char *argv[])
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_lock_fence.c b/test/mpi/errors/rma/win_sync_lock_fence.c
index ec7b63c..b8bf69c 100644
--- a/test/mpi/errors/rma/win_sync_lock_fence.c
+++ b/test/mpi/errors/rma/win_sync_lock_fence.c
@@ -9,19 +9,20 @@
#include <stdlib.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank, nproc;
int errors = 0, all_errors = 0;
- int buf = 0, my_buf;
+ int buf = 0, my_buf, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_lock_pt.c b/test/mpi/errors/rma/win_sync_lock_pt.c
index 6be8e8f..61029ab 100644
--- a/test/mpi/errors/rma/win_sync_lock_pt.c
+++ b/test/mpi/errors/rma/win_sync_lock_pt.c
@@ -8,18 +8,19 @@
#include <stdio.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank;
int errors = 0, all_errors = 0;
- int buf = 0;
+ int buf = 0, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_nested.c b/test/mpi/errors/rma/win_sync_nested.c
index 3e3defd..722b40e 100644
--- a/test/mpi/errors/rma/win_sync_nested.c
+++ b/test/mpi/errors/rma/win_sync_nested.c
@@ -9,12 +9,13 @@
#include <stdlib.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank, nproc, i;
int errors = 0, all_errors = 0;
- int buf = 0, *my_buf;
+ int buf = 0, *my_buf, *bufptr = &buf;
MPI_Win win;
MPI_Group world_group;
@@ -22,7 +23,7 @@ int main(int argc, char *argv[])
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_op.c b/test/mpi/errors/rma/win_sync_op.c
index 2048888..d60afec 100644
--- a/test/mpi/errors/rma/win_sync_op.c
+++ b/test/mpi/errors/rma/win_sync_op.c
@@ -9,19 +9,20 @@
#include <stdlib.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank, nproc;
int errors = 0, all_errors = 0;
- int buf = 0, my_buf;
+ int buf = 0, my_buf, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/win_sync_unlock.c b/test/mpi/errors/rma/win_sync_unlock.c
index ccef067..617677b 100644
--- a/test/mpi/errors/rma/win_sync_unlock.c
+++ b/test/mpi/errors/rma/win_sync_unlock.c
@@ -8,18 +8,19 @@
#include <stdio.h>
#include "mpitest.h"
#include "win_sync.h"
+#include "win_create.h"
int main(int argc, char *argv[])
{
int rank;
int errors = 0, all_errors = 0;
- int buf = 0;
+ int buf = 0, *bufptr = &buf;
MPI_Win win;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- MPI_Win_create(&buf, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
+ WIN_CREATE(bufptr, sizeof(int), sizeof(int), MPI_INFO_NULL, MPI_COMM_WORLD, &win);
MPI_Win_set_errhandler(win, MPI_ERRORS_RETURN);
diff --git a/test/mpi/errors/rma/winerr.c b/test/mpi/errors/rma/winerr.c
index ad66486..1ac477d 100644
--- a/test/mpi/errors/rma/winerr.c
+++ b/test/mpi/errors/rma/winerr.c
@@ -7,6 +7,7 @@
#include "mpi.h"
#include <stdio.h>
#include "mpitest.h"
+#include "win_create.h"
/*
static char MTEST_Descrip[] = "Test the routines to control error handlers on windows";
@@ -36,7 +37,7 @@ void weh(MPI_Win * win, int *err, ...)
int main(int argc, char *argv[])
{
int err;
- int buf[2];
+ int buf[2], *bufptr = &buf[0];
MPI_Win win;
MPI_Comm comm;
MPI_Errhandler newerr, olderr;
@@ -47,7 +48,7 @@ int main(int argc, char *argv[])
comm = MPI_COMM_WORLD;
MPI_Win_create_errhandler(weh, &newerr);
- MPI_Win_create(buf, 2 * sizeof(int), sizeof(int), MPI_INFO_NULL, comm, &win);
+ WIN_CREATE(bufptr, 2 * sizeof(int), sizeof(int), MPI_INFO_NULL, comm, &win);
mywin = win;
MPI_Win_get_errhandler(win, &olderr);
@@ -59,7 +60,7 @@ int main(int argc, char *argv[])
MPI_Win_set_errhandler(win, newerr);
expected_err_class = MPI_ERR_RANK;
- err = MPI_Put(buf, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
+ err = MPI_Put(bufptr, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
if (calls != 1) {
errs++;
printf("newerr not called\n");
diff --git a/test/mpi/errors/rma/winerr2.c b/test/mpi/errors/rma/winerr2.c
index e2f6700..3c9296c 100644
--- a/test/mpi/errors/rma/winerr2.c
+++ b/test/mpi/errors/rma/winerr2.c
@@ -7,6 +7,7 @@
#include "mpi.h"
#include <stdio.h>
#include "mpitest.h"
+#include "win_create.h"
/*
static char MTEST_Descrip[] = "Test the routines to control error handlers on windows";
@@ -59,7 +60,7 @@ void weh2(MPI_Win * win, int *err, ...)
int main(int argc, char *argv[])
{
int err;
- int buf[2];
+ int buf[2], *bufptr = &buf[0];
MPI_Win win;
MPI_Comm comm;
MPI_Errhandler newerr1, newerr2, olderr;
@@ -71,7 +72,7 @@ int main(int argc, char *argv[])
MPI_Win_create_errhandler(weh1, &newerr1);
MPI_Win_create_errhandler(weh2, &newerr2);
- MPI_Win_create(buf, 2 * sizeof(int), sizeof(int), MPI_INFO_NULL, comm, &win);
+ WIN_CREATE(bufptr, 2 * sizeof(int), sizeof(int), MPI_INFO_NULL, comm, &win);
mywin = win;
MPI_Win_get_errhandler(win, &olderr);
@@ -86,7 +87,7 @@ int main(int argc, char *argv[])
MPI_Errhandler_free(&newerr1);
expected_err_class = MPI_ERR_RANK;
- err = MPI_Put(buf, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
+ err = MPI_Put(bufptr, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
if (w1Called != 1) {
errs++;
printf("newerr1 not called\n");
@@ -110,7 +111,7 @@ int main(int argc, char *argv[])
MPI_Errhandler_free(&newerr2);
expected_err_class = MPI_ERR_RANK;
- err = MPI_Put(buf, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
+ err = MPI_Put(bufptr, 1, MPI_INT, -5, 0, 1, MPI_INT, win);
if (w2Called != 1) {
errs++;
printf("newerr2 not called\n");
-----------------------------------------------------------------------
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-449-gaeb915d
by noreply@mpich.org 15 Sep '16
by noreply@mpich.org 15 Sep '16
15 Sep '16
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 aeb915d93e8f55c83b9a426e538bebc32ff6b682 (commit)
via 320b25fddd6783ffe4acf447608a7bd48bad572b (commit)
from 80a0ceb46d8bf80d9c2d7e5dc4ed73a3dddf852d (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/aeb915d93e8f55c83b9a426e538bebc32…
commit aeb915d93e8f55c83b9a426e538bebc32ff6b682
Author: Lena Oden <loden(a)anl.gov>
Date: Wed Aug 24 21:13:01 2016 +0000
CH4/UCX: split Key to avoid KSV overflow
This patch makes sure that even large UCX addresses are transfered
using KVS. In this case, the address is split up and saved in peaces
Signed-off-by: Tomislav Janjusic <tomislavj(a)mellanox.com>
diff --git a/src/mpid/ch4/netmod/ucx/ucx_init.h b/src/mpid/ch4/netmod/ucx/ucx_init.h
index 343d867..3222b86 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_init.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_init.h
@@ -31,13 +31,23 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
ucp_config_t *config;
ucs_status_t ucx_status;
uint64_t features = 0;
- char valS[MPIDI_UCX_KVSAPPSTRLEN], *val;
- char keyS[MPIDI_UCX_KVSAPPSTRLEN];
- char remote_addr[MPIDI_UCX_KVSAPPSTRLEN];
- size_t maxlen = MPIDI_UCX_KVSAPPSTRLEN;
- // char *table = NULL;
+ int status;
+ int val_max_sz, key_max_sz;
+ char *valS, *val;
+ char *keyS;
+ char *remote_addr;
+ size_t maxlen;
+ int string_addr_len;
+ int max_string;
int i;
ucp_params_t ucp_params;
+ int avtid = 0, max_n_avts;
+
+ int p;
+ int addr_size = 0;
+ char *string_addr;
+ MPIR_CHKLMEM_DECL(4);
+
MPIR_FUNC_VERBOSE_STATE_DECL(MPID_STATE_INIT);
MPIR_FUNC_VERBOSE_ENTER(MPID_STATE_INIT);
@@ -62,54 +72,140 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
ucp_worker_get_address(MPIDI_UCX_global.worker, &MPIDI_UCX_global.if_address,
&MPIDI_UCX_global.addrname_len);
MPIDI_UCX_CHK_STATUS(ucx_status);
+#ifdef USE_PMI2_API
+ val_max_sz = PMI2_MAX_VALLEN;
+ key_max_sz = PMI2_MAX_KEYLEN;
+#else
+ pmi_errno = PMI_KVS_Get_value_length_max(&val_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ pmi_errno = PMI_KVS_Get_key_length_max(&key_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
- val = valS;
- str_errno =
- MPL_str_add_binary_arg(&val, (int *) &maxlen, "UCX", (char *) MPIDI_UCX_global.if_address,
- (int) MPIDI_UCX_global.addrname_len);
- MPIDI_UCX_global.max_addr_len = MPIDI_UCX_global.addrname_len;
- /* MPIDI_CH4_UCX_STR_ERRCHK(str_errno, buscard_len); */
- pmi_errno = PMI_KVS_Get_my_name(MPIDI_UCX_global.kvsname, MPIDI_UCX_KVSAPPSTRLEN);
+#endif
+
+ /*we have to reduce the value - the total size of an PMI string is 1024, so command+value+key
+ * assume 100 characters for the command to be save */
+ val_max_sz = val_max_sz - key_max_sz -100;
+
+
+ MPIR_CHKLMEM_MALLOC(valS, char *, val_max_sz, mpi_errno, "valS");
+/* In UCX we have the problem that the key size (as a string) van be larger than val_max_sz.
+ * We create a string from the key - but we don't know the size that this string will have
+ * So we guess the size - based on the worker address size. The decoding uses the hex-representation
+ * of the binary. So we need 2 bytes per byte. Add some extra bytes for the "key".
+ */
+
+ max_string = MPIDI_UCX_global.addrname_len * 2 + 128;
+ MPIR_CHKLMEM_MALLOC(keyS, char *, key_max_sz, mpi_errno, "keyS");
+ MPIR_CHKLMEM_MALLOC(string_addr, char *, max_string, mpi_errno, "string_addr");
+ MPIR_CHKLMEM_MALLOC(remote_addr, char *, max_string, mpi_errno, "remote_addr");
+
+ maxlen = max_string;
+ val = string_addr;
+ str_errno = MPL_str_add_binary_arg(&val, (int *) &maxlen, "U", (char *) MPIDI_UCX_global.if_address,
+ (int) MPIDI_UCX_global.addrname_len);
+
+ /*todo: fallback if buffer is to small */
+ MPIDI_UCX_STR_ERRCHK(str_errno);
+
+ string_addr_len = max_string - maxlen;
+ pmi_errno = PMI_KVS_Get_my_name(MPIDI_UCX_global.kvsname, val_max_sz);
+ val = valS;
+ /* I first commit my worker-address size */
+ maxlen = val_max_sz;
+ sprintf(keyS, "Ksize-%d", rank);
+ MPL_str_add_int_arg(&val, (int*) &maxlen, "K", string_addr_len);
val = valS;
- sprintf(keyS, "UCX-%d", rank);
pmi_errno = PMI_KVS_Put(MPIDI_UCX_global.kvsname, keyS, val);
MPIDI_UCX_PMI_ERROR(pmi_errno);
pmi_errno = PMI_KVS_Commit(MPIDI_UCX_global.kvsname);
MPIDI_UCX_PMI_ERROR(pmi_errno);
+/* now we have to commit the key. However, if the size is larger than the val_max_sz,
+ * we have tho spilt it up That's ugly, but badluck */
+
+ if(string_addr_len < val_max_sz) {
+ val = string_addr;
+ sprintf(keyS, "UCX-%d", rank);
+ pmi_errno = PMI_KVS_Put(MPIDI_UCX_global.kvsname, keyS, val);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ pmi_errno = PMI_KVS_Commit(MPIDI_UCX_global.kvsname);
+ }
+ else{
+ p = 0;
+ while (p<string_addr_len) {
+ val=valS;
+ MPL_snprintf(val,val_max_sz ,"%s",string_addr+p);
+ val=valS;
+ sprintf(keyS, "UCX-%d-%d", rank,p);
+ pmi_errno = PMI_KVS_Put(MPIDI_UCX_global.kvsname, keyS, val);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ pmi_errno = PMI_KVS_Commit(MPIDI_UCX_global.kvsname);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ p += val_max_sz-1 ;
+ }
+ }
+
+ val = valS;
+ MPIDI_UCX_global.max_addr_len = MPIDI_UCX_global.addrname_len;
+
pmi_errno = PMI_Barrier();
MPIDI_UCX_PMI_ERROR(pmi_errno);
- ///table = MPL_malloc(size * MPIDI_UCX_NAME_LEN);
- MPIDI_UCX_global.pmi_addr_table = NULL;
-// memset(table,0x0, MPIDI_UCX_NAME_LEN*size);
+ /* Set to NULL now, only created if required in MPI_Intercomm_create*/
- maxlen = MPIDI_UCX_KVSAPPSTRLEN;
+ MPIDI_UCX_global.pmi_addr_table = NULL;
+ maxlen = val_max_sz -1;
for (i = 0; i < size; i++) {
- sprintf(keyS, "UCX-%d", i);
- pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, valS, MPIDI_UCX_KVSAPPSTRLEN);
- MPIDI_UCX_PMI_ERROR(pmi_errno);
- str_errno = MPL_str_get_binary_arg(valS, "UCX", remote_addr,
- (int) MPIDI_UCX_KVSAPPSTRLEN, (int *) &maxlen);
- if (maxlen > MPIDI_UCX_global.max_addr_len)
- MPIDI_UCX_global.max_addr_len = maxlen;
+ /*first get the size */
+ sprintf(keyS, "Ksize-%d", i);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
+ str_errno = MPL_str_get_int_arg(val, "K", &string_addr_len);
+
+ if(string_addr_len< val_max_sz) {
+ val = string_addr;
+ sprintf(keyS, "UCX-%d", i);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ str_errno = MPL_str_get_binary_arg(string_addr, "U", remote_addr,
+ (int)max_string, (int *) &addr_size);
+
+ MPIDI_UCX_STR_ERRCHK(str_errno);
+ }
+ else{
+ /* first catch the string together*/
+ p = 0;
+ while(p < string_addr_len) {
+ val = string_addr+p;
+ sprintf(keyS, "UCX-%d-%d", i,p);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
+ p+=val_max_sz-1;
+ }
+ str_errno = MPL_str_get_binary_arg(string_addr, "U", remote_addr,
+ (int)max_string, (int *) &addr_size);
+ MPIDI_UCX_STR_ERRCHK(str_errno);
+
+ }
+
+ if(addr_size > MPIDI_UCX_global.max_addr_len)
+ MPIDI_UCX_global.max_addr_len = addr_size;
ucx_status = ucp_ep_create(MPIDI_UCX_global.worker,
- (ucp_address_t *) remote_addr,
- &MPIDI_UCX_AV(&MPIDIU_get_av(0, i)).dest);
+ (ucp_address_t *) remote_addr,
+ &MPIDI_UCX_AV(&MPIDIU_get_av(0, i)).dest);
MPIDI_UCX_CHK_STATUS(ucx_status);
- memset(remote_addr, 0x0, maxlen);
}
MPIDI_CH4U_mpi_init(comm_world, comm_self, num_contexts, netmod_contexts);
mpi_errno = MPIR_Datatype_init_names();
- MPIDI_CH4_UCX_MPI_ERROR(mpi_errno);
+ MPIDI_UCX_MPI_ERROR(mpi_errno);
fn_exit:
+ MPIR_CHKLMEM_FREEALL();
MPIR_FUNC_VERBOSE_EXIT(MPID_STATE_EXIT);
return mpi_errno;
fn_fail:
@@ -181,28 +277,80 @@ static inline int MPIDI_NM_comm_get_lpid(MPIR_Comm * comm_ptr,
}
-static inline int allocate_address_table()
+static inline int MPIDI_NMI_allocate_address_table()
{
- char keyS[MPIDI_UCX_KVSAPPSTRLEN];
- char valS[MPIDI_UCX_KVSAPPSTRLEN];
+ char *keyS;
+ char *valS, *val;
+ int mpi_errno = MPI_SUCCESS, pmi_errno, str_errno;
int len = MPIDI_UCX_global.max_addr_len;
int i;
int size, maxlen = 1;
+ int key_max_sz, val_max_sz;
+ int string_addr_len;
+ int max_string;
+ char *string_addr;
+ int addr_size;
+ int p;
+ MPIR_CHKLMEM_DECL(3);
+#ifdef USE_PMI2_API
+ val_max_sz = PMI2_MAX_VALLEN;
+ key_max_sz = PMI2_MAX_KEYLEN;
+#else
+ pmi_errno = PMI_KVS_Get_value_length_max(&val_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ pmi_errno = PMI_KVS_Get_key_length_max(&key_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+#endif
+
+ val_max_sz = val_max_sz - 100 - key_max_sz; /*see comment at init */
+
+ max_string = len * 2 + 128;
+ MPIR_CHKLMEM_MALLOC(valS, char *, val_max_sz, mpi_errno, "valS");
+ MPIR_CHKLMEM_MALLOC(keyS, char *, key_max_sz, mpi_errno, "keyS");
+ MPIR_CHKLMEM_MALLOC(string_addr, char *, max_string, mpi_errno, "string_addr");
+ val = valS;
+
size = MPIR_Process.comm_world->local_size;
MPIDI_UCX_global.pmi_addr_table = MPL_malloc(size * len);
memset(MPIDI_UCX_global.pmi_addr_table, 0x0, len * size);
-
for (i = 0; i < size; i++) {
- sprintf(keyS, "UCX-%d", i);
- pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, valS, MPIDI_UCX_KVSAPPSTRLEN);
+ /*first get the size */
+ sprintf(keyS, "Ksize-%d", i);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
MPIDI_UCX_PMI_ERROR(pmi_errno);
- MPL_str_get_binary_arg(valS, "UCX", &MPIDI_UCX_global.pmi_addr_table[len * i],
- (int) len, (int *) &maxlen);
- }
+ str_errno = MPL_str_get_int_arg(val, "K", &string_addr_len);
+ if(string_addr_len < val_max_sz) {
+ val = string_addr;
+ sprintf(keyS, "UCX-%d", i);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ str_errno = MPL_str_get_binary_arg(string_addr, "U", &MPIDI_UCX_global.pmi_addr_table[i * len] ,
+ (int)max_string, (int *) &addr_size);
+ MPIDI_UCX_STR_ERRCHK(str_errno);
+ }
+ else{
+ /* first catch the string together*/
+ p = 0;
+ while(p < string_addr_len) {
+ val = string_addr+p;
+ sprintf(keyS, "UCX-%d-%d", i,p);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, val, val_max_sz);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
+ p+=val_max_sz-1;
+ }
+ str_errno = MPL_str_get_binary_arg(string_addr, "U", &MPIDI_UCX_global.pmi_addr_table[i * len],
+ (int)max_string, (int *) &addr_size);
+ }
+ }
+fn_exit:
+ MPIR_CHKLMEM_FREEALL();
+ return mpi_errno;
+fn_fail:
+ goto fn_exit;
}
static inline int MPIDI_NM_gpid_get(MPIR_Comm * comm_ptr, int rank, MPIR_Gpid * gpid)
@@ -217,7 +365,7 @@ static inline int MPIDI_NM_gpid_get(MPIR_Comm * comm_ptr, int rank, MPIR_Gpid *
MPIR_Assert(rank < comm_ptr->local_size);
if (MPIDI_UCX_global.pmi_addr_table == NULL) {
- allocate_address_table();
+ MPIDI_NMI_allocate_address_table();
}
memset(MPIDI_UCX_GPID(gpid).addr, 0, len);
memcpy(MPIDI_UCX_GPID(gpid).addr, &MPIDI_UCX_global.pmi_addr_table[lpid * len], len);
@@ -251,7 +399,7 @@ static inline int MPIDI_NM_gpid_tolpidarray(int size, MPIR_Gpid gpid[], int lpid
new_avt_procs = (int *) MPL_malloc(size * sizeof(int));
max_n_avts = MPIDIU_get_max_n_avts();
if (MPIDI_UCX_global.pmi_addr_table == NULL) {
- allocate_address_table();
+ MPIDI_NMI_allocate_address_table();
}
for (i = 0; i < size; i++) {
http://git.mpich.org/mpich.git/commitdiff/320b25fddd6783ffe4acf447608a7bd48…
commit 320b25fddd6783ffe4acf447608a7bd48bad572b
Author: Lena Oden <loden(a)anl.gov>
Date: Wed Aug 17 22:44:24 2016 +0000
CH4/UCX Simplified but working errorhandling
The error handling in CH4/UCX was not working so far.
This patch simplified it (reduces the number of error-names) -
but it works now with the autogen-scribts
diff --git a/src/mpid/ch4/netmod/ucx/errnames.txt b/src/mpid/ch4/netmod/ucx/errnames.txt
index e6058f2..d7e4ba6 100644
--- a/src/mpid/ch4/netmod/ucx/errnames.txt
+++ b/src/mpid/ch4/netmod/ucx/errnames.txt
@@ -1,16 +1,10 @@
-**ucx_nm_read_config:ucx_read_config faild
-**ucx_nm_read_config %s %d %s %s: ucx_read_config faild(%s %d %s %s)
-**ucx_nm_init:ucx_init failed
-**ucx_nm_init %s %d %s %s: ucx_init failed (%s %d %s %s)
-**ucx_nm_worker_create:ucx_worker_create failed
-**ucx_nm_worker_create %s %d %s %s: ucx_worker_create failed (%s %d %s %s)
-**ucx_nm_ep_create:failed to create ucp_endpoint
-**ucx_nm_ep_create %s %d %s %s: failed to create ucp_endpoint (%s %d %s %s)
-**ucx_nm_get_worker_address:ucx failed to get worker address
-**ucx_nm_get_worker_address %s %d %s %s: ucx failed to get worker address (%s %s %s %s)
-**ucx_nm_tag_nb_send:Failed to start tag send in ucx
-**ucx_nm_tag_nb_send %s %d %s %s: Failed to start tag send in ucx (%s %d %s %s)
-**ucx_nm_tag_nb_recv:Failed to start tag recv in ucx
-**ucx_nm_tag_nb_recv %s %d %s %s: Failed to start tag recv in ucx (%s %d %s %s)
-**ucx_nm_other:Other error
-**ucx_nm_other %s %d %s %s: Other error (%s %d %s %s)
+**ucx_nm_status: ucx function returned with failed status
+**ucx_nm_status %s %d %s %s: ucx function returned with failed status(%s %d %s %s)
+**ucx_nm_pmi_error: pmi error in UCX netmod
+**ucx_nm_pmi_error %s %d %s %s: string error in UCX netmod(%s %d %s %s)
+**ucx_nm_str_error: string error in UCX netmod
+**ucx_nm_str_error %s %d %s %s: string error in UCX netmod(%s %d %s %s)
+**ucx_nm_rq_error: return failed request in UCX netmod
+**ucx_nm_rq_error %s %d %s %s: returned failed request in UCX netmod(%s %d %s %s)
+**ucx_nm_other:Other UCX error
+**ucx_nm_other %s %d %s %s: Other UCX error (%s %d %s %s)
diff --git a/src/mpid/ch4/netmod/ucx/ucx_am.h b/src/mpid/ch4/netmod/ucx/ucx_am.h
index d071891..2cd7315 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_am.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_am.h
@@ -79,6 +79,7 @@ static inline void MPIDI_UCX_inject_am_callback(void *request, ucs_status_t stat
#define FUNCNAME MPIDI_NM_am_isend
#undef FCNAME
#define FCNAME MPL_QUOTE(FUNCNAME)
+
static inline int MPIDI_NM_am_isend(int rank,
MPIR_Comm * comm,
int handler_id,
@@ -88,6 +89,7 @@ static inline int MPIDI_NM_am_isend(int rank,
MPI_Count count,
MPI_Datatype datatype, MPIR_Request * sreq,
void *netmod_context)
+
{
int mpi_errno = MPI_SUCCESS;
MPIDI_UCX_ucp_request_t *ucp_request;
@@ -160,7 +162,8 @@ static inline int MPIDI_NM_am_isend(int rank,
data_sz + am_hdr_sz + sizeof(ucx_hdr),
ucp_dt_make_contig(1), ucx_tag,
&MPIDI_UCX_am_isend_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
+
/* send is done. free all resources and complete the request */
if (ucp_request == NULL) {
MPL_free(send_buf);
@@ -283,7 +286,8 @@ static inline int MPIDI_NM_am_isend_reply(MPIR_Context_id_t context_id,
sizeof(ucx_hdr),
ucp_dt_make_contig(1), ucx_tag,
&MPIDI_UCX_am_isend_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
+
}
/* send is done. free all resources and complete the request */
@@ -353,7 +357,7 @@ static inline int MPIDI_NM_am_send_hdr(int rank,
am_hdr_sz + sizeof(ucx_hdr),
ucp_dt_make_contig(1), ucx_tag,
&MPIDI_UCX_inject_am_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request == NULL) {
/* inject is done */
@@ -405,7 +409,7 @@ static inline int MPIDI_NM_am_send_hdr_reply(MPIR_Context_id_t context_id,
am_hdr_sz + sizeof(ucx_hdr),
ucp_dt_make_contig(1), ucx_tag,
&MPIDI_UCX_inject_am_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request == NULL) {
/* inject is done */
diff --git a/src/mpid/ch4/netmod/ucx/ucx_impl.h b/src/mpid/ch4/netmod/ucx/ucx_impl.h
index 6f7200d..71bb82f 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_impl.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_impl.h
@@ -80,15 +80,14 @@ static inline int MPIDI_UCX_get_source(uint64_t match_bits)
}
-#define MPIDI_UCX_ERR MPIR_ERR_CHKANDJUMP4
-#define MPIDI_UCX_CHK_STATUS(STATUS,STR) \
+#define MPIDI_UCX_CHK_STATUS(STATUS) \
do { \
- MPIDI_UCX_ERR((STATUS!=UCS_OK && STATUS!=UCS_INPROGRESS),\
+ MPIR_ERR_CHKANDJUMP4((STATUS!=UCS_OK && STATUS!=UCS_INPROGRESS),\
mpi_errno, \
MPI_ERR_OTHER, \
- "**ch4_ucx_nm_"#STR, \
- "**ch4_ucx_nm_"#STR" %s %d %s %s", \
+ "**ucx_nm_status", \
+ "**ucx_nm_status %s %d %s %s", \
__SHORT_FILE__, \
__LINE__, \
FCNAME, \
@@ -96,50 +95,49 @@ static inline int MPIDI_UCX_get_source(uint64_t match_bits)
} while (0)
-
-#define MPIDI_UCX_PMI_ERROR(_errno,STR) \
+#define MPIDI_UCX_PMI_ERROR(_errno) \
do \
{ \
- MPIDI_UCX_ERR(_errno!=PMI_SUCCESS, \
+ MPIR_ERR_CHKANDJUMP4(_errno!=PMI_SUCCESS, \
mpi_errno, \
MPI_ERR_OTHER, \
- "**ch4_ucx_nm_pmi"#STR, \
- "**ch4_ucx_nm_mpi"#STR" %s %d %s %s", \
+ "**ucx_nm_pmi_error", \
+ "**ucx_nm_pmi_error %s %d %s %s", \
__SHORT_FILE__, \
__LINE__, \
FCNAME, \
- #STR); \
+ "pmi_error"); \
} while (0)
-#define MPIDI_CH4_UCX_MPI_ERROR(_errno) \
+#define MPIDI_UCX_MPI_ERROR(_errno) \
do \
{ \
if (unlikely(_errno!=MPI_SUCCESS)) MPIR_ERR_POP(mpi_errno); \
} while (0)
-#define MPIDI_CH4_UCX_STR_ERRCHK(_errno,STR) \
+#define MPIDI_UCX_STR_ERRCHK(_errno) \
do \
{ \
- MPIDI_UCX_ERR(_errno!=MPL_STR_SUCCESS, \
+ MPIR_ERR_CHKANDJUMP4(_errno!=MPL_STR_SUCCESS, \
mpi_errno, \
MPI_ERR_OTHER, \
- "**ch4_ucx_nm_"#STR, \
- "**ch4_ucx_nm_"#STR" %s %d %s %s", \
+ "**ucx_nm_str_error", \
+ "**ucx_nm_str_error %s %d %s %s", \
__SHORT_FILE__, \
__LINE__, \
FCNAME, \
- #STR); \
+ "strng_error"); \
} while (0)
-#define MPIDI_CH4_UCX_REQUEST(_req, STR) \
+#define MPIDI_CH4_UCX_REQUEST(_req) \
do { \
- MPIDI_UCX_ERR(UCS_PTR_IS_ERR(_req), \
+ MPIR_ERR_CHKANDJUMP4(UCS_PTR_IS_ERR(_req), \
mpi_errno, \
MPI_ERR_OTHER, \
- "**ch4_ucx_nm_"#STR, \
- "**ch4_ucx_nm_"#STR" %s %d %s %s", \
+ "**ucx_nm_rq_error", \
+ "**ucx_nm_rq_error %s %d %s %s", \
__SHORT_FILE__, \
__LINE__, \
FCNAME, \
diff --git a/src/mpid/ch4/netmod/ucx/ucx_init.h b/src/mpid/ch4/netmod/ucx/ucx_init.h
index 2e523ea..343d867 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_init.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_init.h
@@ -43,7 +43,7 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
MPIR_FUNC_VERBOSE_ENTER(MPID_STATE_INIT);
ucx_status = ucp_config_read(NULL, NULL, &config);
- MPIDI_UCX_CHK_STATUS(ucx_status, read_config);
+ MPIDI_UCX_CHK_STATUS(ucx_status);
/* For now use only the tag feature */
features = UCP_FEATURE_TAG | UCP_FEATURE_RMA;
@@ -52,16 +52,16 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
ucp_params.request_init = MPIDI_UCX_Request_init_callback;
ucp_params.request_cleanup = NULL;
ucx_status = ucp_init(&ucp_params, config, &MPIDI_UCX_global.context);
- MPIDI_UCX_CHK_STATUS(ucx_status, init);
+ MPIDI_UCX_CHK_STATUS(ucx_status);
ucp_config_release(config);
ucx_status = ucp_worker_create(MPIDI_UCX_global.context, UCS_THREAD_MODE_SERIALIZED,
&MPIDI_UCX_global.worker);
- MPIDI_UCX_CHK_STATUS(ucx_status, worker_create);
+ MPIDI_UCX_CHK_STATUS(ucx_status);
ucx_status =
ucp_worker_get_address(MPIDI_UCX_global.worker, &MPIDI_UCX_global.if_address,
&MPIDI_UCX_global.addrname_len);
- MPIDI_UCX_CHK_STATUS(ucx_status, get_worker_address);
+ MPIDI_UCX_CHK_STATUS(ucx_status);
val = valS;
@@ -75,11 +75,11 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
val = valS;
sprintf(keyS, "UCX-%d", rank);
pmi_errno = PMI_KVS_Put(MPIDI_UCX_global.kvsname, keyS, val);
- MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_put_name);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
pmi_errno = PMI_KVS_Commit(MPIDI_UCX_global.kvsname);
- MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_commit);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
pmi_errno = PMI_Barrier();
- MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_barrier);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
///table = MPL_malloc(size * MPIDI_UCX_NAME_LEN);
MPIDI_UCX_global.pmi_addr_table = NULL;
@@ -90,17 +90,17 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
for (i = 0; i < size; i++) {
sprintf(keyS, "UCX-%d", i);
pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, valS, MPIDI_UCX_KVSAPPSTRLEN);
- MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_commit);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
str_errno = MPL_str_get_binary_arg(valS, "UCX", remote_addr,
(int) MPIDI_UCX_KVSAPPSTRLEN, (int *) &maxlen);
if (maxlen > MPIDI_UCX_global.max_addr_len)
MPIDI_UCX_global.max_addr_len = maxlen;
- /* MPIDI_UCX_STR_ERRCHK(str_errno, buscard_len); */
+
ucx_status = ucp_ep_create(MPIDI_UCX_global.worker,
(ucp_address_t *) remote_addr,
&MPIDI_UCX_AV(&MPIDIU_get_av(0, i)).dest);
- MPIDI_UCX_CHK_STATUS(ucx_status, ep_create);
+ MPIDI_UCX_CHK_STATUS(ucx_status);
memset(remote_addr, 0x0, maxlen);
}
@@ -135,7 +135,7 @@ static inline int MPIDI_NM_mpi_finalize_hook(void)
ucp_ep_destroy(MPIDI_UCX_AV(&MPIDIU_get_av(i, j)).dest);
}
pmi_errno = PMI_Barrier();
- MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_barrier);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
if (MPIDI_UCX_global.worker != NULL)
@@ -196,8 +196,8 @@ static inline int allocate_address_table()
for (i = 0; i < size; i++) {
sprintf(keyS, "UCX-%d", i);
- PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, valS, MPIDI_UCX_KVSAPPSTRLEN);
- // MPIDI_UCX_PMI_ERROR(pmi_errno, pmi_commit);
+ pmi_errno = PMI_KVS_Get(MPIDI_UCX_global.kvsname, keyS, valS, MPIDI_UCX_KVSAPPSTRLEN);
+ MPIDI_UCX_PMI_ERROR(pmi_errno);
MPL_str_get_binary_arg(valS, "UCX", &MPIDI_UCX_global.pmi_addr_table[len * i],
(int) len, (int *) &maxlen);
}
diff --git a/src/mpid/ch4/netmod/ucx/ucx_recv.h b/src/mpid/ch4/netmod/ucx/ucx_recv.h
index 6dd5ea6..e63a34c 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_recv.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_recv.h
@@ -33,7 +33,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_irecv_continous(void *buf,
&MPIDI_UCX_Handle_recv_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request->req == NULL) {
@@ -80,7 +80,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_irecv_non_continous(void *buf,
&MPIDI_UCX_Handle_recv_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request->req == NULL) {
@@ -195,7 +195,7 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_NM_mpi_imrecv(void *buf,
&MPIDI_UCX_Handle_recv_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request->req == NULL) {
req = MPIR_Request_create(MPIR_REQUEST_KIND__RECV);
diff --git a/src/mpid/ch4/netmod/ucx/ucx_rma.h b/src/mpid/ch4/netmod/ucx/ucx_rma.h
index 53aa08e..f023797 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_rma.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_rma.h
@@ -33,7 +33,7 @@ static inline int MPIDI_UCX_contig_put(const void *origin_addr,
if (status == UCS_INPROGRESS)
MPIDI_UCX_WIN(win).need_local_flush = 1;
else
- MPIDI_UCX_CHK_STATUS(status, ucp_mem_map);
+ MPIDI_UCX_CHK_STATUS(status);
fn_exit:
return mpi_errno;
@@ -67,7 +67,7 @@ static inline int MPIDI_UCX_contig_get(void *origin_addr,
if (status == UCS_INPROGRESS)
MPIDI_UCX_WIN(win).need_local_flush = 1;
else
- MPIDI_UCX_CHK_STATUS(status, ucp_mem_map);
+ MPIDI_UCX_CHK_STATUS(status);
fn_exit:
return mpi_errno;
diff --git a/src/mpid/ch4/netmod/ucx/ucx_send.h b/src/mpid/ch4/netmod/ucx/ucx_send.h
index c90972b..4ba6817 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_send.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_send.h
@@ -39,7 +39,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_send_continous(const void *buf,
(MPIDI_UCX_ucp_request_t *) ucp_tag_send_nb(ep, buf, data_sz, ucp_dt_make_contig(1),
ucx_tag, &MPIDI_UCX_Handle_send_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request == NULL) {
req = MPIR_Request_create(MPIR_REQUEST_KIND__SEND);
@@ -96,7 +96,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_sync_send_continous(const void *buf,
(MPIDI_UCX_ucp_request_t *) ucp_tag_send_sync_nb(ep, buf, data_sz, ucp_dt_make_contig(1),
ucx_tag, &MPIDI_UCX_Handle_send_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request->req) {
req = ucp_request->req;
ucp_request->req = NULL;
@@ -147,7 +147,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_sync_send_non_continous(const void *buf,
datatype->dev.netmod.ucx.ucp_datatype,
ucx_tag, &MPIDI_UCX_Handle_send_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request->req) {
req = ucp_request->req;
@@ -206,7 +206,7 @@ MPL_STATIC_INLINE_PREFIX int ucx_send_non_continous(const void *buf,
datatype->dev.netmod.ucx.ucp_datatype, ucx_tag,
&MPIDI_UCX_Handle_send_callback);
- MPIDI_CH4_UCX_REQUEST(ucp_request, tag_send_nb);
+ MPIDI_CH4_UCX_REQUEST(ucp_request);
if (ucp_request == NULL) {
req = MPIR_Request_create(MPIR_REQUEST_KIND__SEND);
diff --git a/src/mpid/ch4/netmod/ucx/ucx_win.h b/src/mpid/ch4/netmod/ucx/ucx_win.h
index 16ccbdd..535035b 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_win.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_win.h
@@ -47,7 +47,7 @@ static inline int MPIDI_UCX_Win_allgather(MPIR_Win * win, size_t length,
base = *base_ptr;
status = ucp_mem_map(MPIDI_UCX_global.context, &base, size, 0, &mem_h);
- MPIDI_UCX_CHK_STATUS(status, ucp_mem_map);
+ MPIDI_UCX_CHK_STATUS(status);
if (length > 0)
*base_ptr = base;
@@ -56,7 +56,7 @@ static inline int MPIDI_UCX_Win_allgather(MPIR_Win * win, size_t length,
/* pack the key */
status = ucp_rkey_pack(ucp_context, mem_h, (void **) &rkey_buffer, &rkey_size);
- MPIDI_UCX_CHK_STATUS(status, ucp_mem_map);
+ MPIDI_UCX_CHK_STATUS(status);
rkey_sizes = (int *) MPL_malloc(sizeof(int) * comm_ptr->local_size);
rkey_sizes[comm_ptr->rank] = (int) rkey_size;
@@ -96,7 +96,7 @@ static inline int MPIDI_UCX_Win_allgather(MPIR_Win * win, size_t length,
MPIDI_UCX_WIN_INFO(win, i).rkey = NULL;
}
else
- MPIDI_UCX_CHK_STATUS(status, ucp_mem_map);
+ MPIDI_UCX_CHK_STATUS(status);
}
share_data = MPL_malloc(comm_ptr->local_size * sizeof(struct _UCX_share));
@@ -211,8 +211,10 @@ static inline int MPIDI_NM_mpi_win_unlock(int rank, MPIR_Win * win)
ucp_ep_h ep = MPIDI_UCX_COMM_TO_EP(win->comm_ptr, rank);
/* make sure all operations are completed */
ucp_status = ucp_ep_flush(ep);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+
+ MPIDI_UCX_CHK_STATUS(ucp_status);
mpi_errno = MPIDI_CH4R_mpi_win_unlock(rank, win);
+
fn_exit:
return mpi_errno;
fn_fail:
@@ -263,7 +265,7 @@ static inline int MPIDI_NM_mpi_win_fence(int assert, MPIR_Win * win)
if (mpi_errno)
MPIR_ERR_POP(mpi_errno);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
fn_exit:
return mpi_errno;
fn_fail:
@@ -394,7 +396,7 @@ static inline int MPIDI_NM_mpi_win_flush(int rank, MPIR_Win * win)
/* only flush the endpoint */
ucp_status = ucp_ep_flush(ep);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
fn_exit:
return mpi_errno;
@@ -415,7 +417,7 @@ static inline int MPIDI_NM_mpi_win_flush_local_all(MPIR_Win * win)
* a global flush. This is not good for performance - but OK for now */
if (MPIDI_UCX_WIN(win).need_local_flush == 1) {
ucp_status = ucp_worker_flush(MPIDI_UCX_global.worker);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
MPIDI_UCX_WIN(win).need_local_flush = 0;
}
@@ -433,7 +435,7 @@ static inline int MPIDI_NM_mpi_win_unlock_all(MPIR_Win * win)
/*first we have to make sure that all operations are completed */
ucp_status = ucp_worker_flush(MPIDI_UCX_global.worker);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
mpi_errno = MPIDI_CH4R_mpi_win_unlock_all(win);
fn_exit:
return mpi_errno;
@@ -461,7 +463,7 @@ static inline int MPIDI_NM_mpi_win_flush_local(int rank, MPIR_Win * win)
if (MPIDI_UCX_WIN(win).need_local_flush == 1) {
ucp_status = ucp_ep_flush(ep);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
MPIDI_UCX_WIN(win).need_local_flush = 0;
}
@@ -489,7 +491,7 @@ static inline int MPIDI_NM_mpi_win_flush_all(MPIR_Win * win)
ucp_status = ucp_worker_flush(MPIDI_UCX_global.worker);
- MPIDI_UCX_CHK_STATUS(ucp_status, ucp_worker_fence);
+ MPIDI_UCX_CHK_STATUS(ucp_status);
fn_exit:
return mpi_errno;
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch4/netmod/ucx/errnames.txt | 26 ++---
src/mpid/ch4/netmod/ucx/ucx_am.h | 12 +-
src/mpid/ch4/netmod/ucx/ucx_impl.h | 40 +++---
src/mpid/ch4/netmod/ucx/ucx_init.h | 248 +++++++++++++++++++++++++++-------
src/mpid/ch4/netmod/ucx/ucx_recv.h | 6 +-
src/mpid/ch4/netmod/ucx/ucx_rma.h | 4 +-
src/mpid/ch4/netmod/ucx/ucx_send.h | 8 +-
src/mpid/ch4/netmod/ucx/ucx_win.h | 22 ++--
8 files changed, 256 insertions(+), 110 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-447-g80a0ceb
by noreply@mpich.org 14 Sep '16
by noreply@mpich.org 14 Sep '16
14 Sep '16
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 80a0ceb46d8bf80d9c2d7e5dc4ed73a3dddf852d (commit)
from 8d23c24b27d5e6e4bee8a31fe511befed7ba6501 (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/80a0ceb46d8bf80d9c2d7e5dc4ed73a3d…
commit 80a0ceb46d8bf80d9c2d7e5dc4ed73a3dddf852d
Author: Rubasri Kalidas <rubasri.kalidas(a)intel.com>
Date: Tue Jul 19 14:19:46 2016 -0500
CH4: Fix persistent send/recv hangup issue
Initialize source rank in recv init which results in proper rank being
returned in startall. As a result, proper receive is posted and the
request gets completed.
fixes csr/mpich-opa#340
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/src/mpid/ch4/src/ch4r_recv.h b/src/mpid/ch4/src/ch4r_recv.h
index addb8fa..5910835 100644
--- a/src/mpid/ch4/src/ch4r_recv.h
+++ b/src/mpid/ch4/src/ch4r_recv.h
@@ -264,6 +264,7 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_CH4U_mpi_recv_init(void *buf,
MPIDI_CH4U_REQUEST(rreq, buffer) = (void *) buf;
MPIDI_CH4U_REQUEST(rreq, count) = count;
MPIDI_CH4U_REQUEST(rreq, datatype) = datatype;
+ MPIDI_CH4U_REQUEST(rreq, src_rank) = rank;
MPIDI_CH4U_REQUEST(rreq, tag) =
MPIDI_CH4U_init_send_tag(comm->context_id + context_offset, rank, tag);
rreq->u.persist.real_request = NULL;
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch4/src/ch4r_recv.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-446-g8d23c24
by noreply@mpich.org 14 Sep '16
by noreply@mpich.org 14 Sep '16
14 Sep '16
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 8d23c24b27d5e6e4bee8a31fe511befed7ba6501 (commit)
from d17a96a5c1cde4d2051000ebf4e059274cbb4c04 (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/8d23c24b27d5e6e4bee8a31fe511befed…
commit 8d23c24b27d5e6e4bee8a31fe511befed7ba6501
Author: Charles J Archer <charles.j.archer(a)intel.com>
Date: Wed Jan 27 09:32:34 2016 -0800
mpl/timer: Refactor x86 cycle timer
Clean up some issues the x86 cycle timer
* remove push instructions causing clobber of parameter variables
* actually use rdtscp as the #define MPL_LINUX86_CYCLE_RDTSCP implies
* 32-bit can use =A constraint, while 64-bit must use split =a =d
Fixes csr/mpich-opa#421
Signed-off-by: Halim Amer <aamer(a)anl.gov>
diff --git a/src/mpl/include/mpl_timer_linux86_cycle.h b/src/mpl/include/mpl_timer_linux86_cycle.h
index 30420d9..f43f5f2 100644
--- a/src/mpl/include/mpl_timer_linux86_cycle.h
+++ b/src/mpl/include/mpl_timer_linux86_cycle.h
@@ -16,23 +16,21 @@ static inline int MPL_wtime(MPL_time_t *timeval)
the rdtscp instruction which is synchronizing, we use this when we
can. */
#ifdef MPL_LINUX86_CYCLE_RDTSCP
- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (timeval) : : "ecx", "rdx");
+ unsigned long long lower,upper,extra;
+ __asm__ __volatile__ ("rdtscp\n" : "=a" (lower), "=d" (upper), "=c" (extra));
+ *timeval = (upper << 32) + lower;
#elif defined(MPL_LINUX86_CYCLE_CPUID_RDTSC64)
-/* Here we have to save the rbx register for when the compiler is
- generating position independent code (e.g., when it's generating
- shared libraries) */
- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx" : "=A" (timeval) : : "ecx");
+ unsigned long long lower, upper;
+ __asm__ __volatile__("cpuid ; rdtsc" : "=a" (lower), "=d" (upper) : : "ebx", "ecx");
+ *timeval = (upper << 32) + lower;
-#elif defined(MPL_LINUX86_CYCLE_CPUID_RDTSC32)
-/* Here we have to save the ebx register for when the compiler is
- generating position independent code (e.g., when it's generating
- shared libraries) */
- __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (timeval) : : "ecx");
+#elif defined(MPL_LINUX86_CYCLE_CPUID_RDTSC32)
+ __asm__ __volatile__("cpuid ; rdtsc" : "=A" (*timeval) : : "ebx", "ecx");
#elif defined(MPL_LINUX86_CYCLE_RDTSC)
/* The configure test using cpuid must have failed, try just rdtsc by itself */
- __asm__ __volatile__("rdtsc" : "=A" (timeval));
+ __asm__ __volatile__("rdtsc" : "=A" (*timeval));
#else
#error Dont know which Linux timer to use
-----------------------------------------------------------------------
Summary of changes:
src/mpl/include/mpl_timer_linux86_cycle.h | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-445-gd17a96a
by noreply@mpich.org 14 Sep '16
by noreply@mpich.org 14 Sep '16
14 Sep '16
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 d17a96a5c1cde4d2051000ebf4e059274cbb4c04 (commit)
from 8e35251dc2f5e54bb91e80c62d385631c8202213 (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/d17a96a5c1cde4d2051000ebf4e059274…
commit d17a96a5c1cde4d2051000ebf4e059274cbb4c04
Author: Wesley Bland <wesley.bland(a)intel.com>
Date: Tue Sep 13 11:57:36 2016 -0500
CH4/STUBNM: Remove type_dup_hook pointer
This pointer was accidentally re-inserted by `6370ba6ce119`, but it is
no longer used and should be removed.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/src/mpid/ch4/netmod/stubnm/globals.c b/src/mpid/ch4/netmod/stubnm/globals.c
index bfb95c2..51000d9 100644
--- a/src/mpid/ch4/netmod/stubnm/globals.c
+++ b/src/mpid/ch4/netmod/stubnm/globals.c
@@ -142,7 +142,6 @@ MPIDI_NM_native_funcs_t MPIDI_NM_native_stubnm_funcs = {
MPIDI_NM_mpi_iscatter,
MPIDI_NM_mpi_iscatterv,
MPIDI_NM_mpi_type_create_hook,
- MPIDI_NM_mpi_type_dup_hook,
MPIDI_NM_mpi_type_free_hook,
MPIDI_NM_mpi_op_create_hook,
MPIDI_NM_mpi_op_free_hook,
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch4/netmod/stubnm/globals.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-444-g8e35251
by noreply@mpich.org 13 Sep '16
by noreply@mpich.org 13 Sep '16
13 Sep '16
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 8e35251dc2f5e54bb91e80c62d385631c8202213 (commit)
from 3bb6c6c330d92087813c55de6379d5c8b30a9075 (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/8e35251dc2f5e54bb91e80c62d385631c…
commit 8e35251dc2f5e54bb91e80c62d385631c8202213
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Thu Oct 15 00:29:57 2015 -0500
Added a pack_external test file from Intel.
Test only exercises the code path. Futrue improvement should validate
the packed buffer is actually in external32 format.
Signed-off-by: Rob Latham <robl(a)mcs.anl.gov>
diff --git a/test/mpi/datatype/Makefile.am b/test/mpi/datatype/Makefile.am
index ee6d9c1..ab787c1 100644
--- a/test/mpi/datatype/Makefile.am
+++ b/test/mpi/datatype/Makefile.am
@@ -51,6 +51,7 @@ noinst_PROGRAMS = \
simple-commit \
simple-pack \
simple-pack-external \
+ simple-pack-external2 \
simple-resized \
simple-size-extent \
sizedtypes \
diff --git a/test/mpi/datatype/simple-pack-external2.c b/test/mpi/datatype/simple-pack-external2.c
new file mode 100644
index 0000000..1730e02
--- /dev/null
+++ b/test/mpi/datatype/simple-pack-external2.c
@@ -0,0 +1,40 @@
+#include <mpi.h>
+#include <stdlib.h>
+
+char *datarep = "external32";
+
+#define UINT_COUNT (2)
+#define DBLE_COUNT (24)
+
+int main(void)
+{
+ unsigned *uint_data = calloc(UINT_COUNT, sizeof(unsigned));
+ double *dble_data = calloc(DBLE_COUNT, sizeof(double));
+ MPI_Aint uint_pack_size, dble_pack_size;
+ MPI_Aint pack_size;
+ void *pack_buffer;
+ MPI_Aint position = 0;
+
+ MPI_Init(NULL, NULL);
+
+ MPI_Pack_external_size(datarep, UINT_COUNT, MPI_UNSIGNED, &uint_pack_size);
+ MPI_Pack_external_size(datarep, DBLE_COUNT, MPI_DOUBLE, &dble_pack_size);
+
+ pack_size = uint_pack_size + dble_pack_size;
+ pack_buffer = malloc(pack_size);
+
+ MPI_Pack_external(datarep, uint_data, UINT_COUNT, MPI_UNSIGNED, pack_buffer, pack_size,
+ &position);
+ MPI_Pack_external(datarep, dble_data, DBLE_COUNT, MPI_DOUBLE, pack_buffer, pack_size,
+ &position);
+
+ free(pack_buffer);
+ free(dble_data);
+ free(uint_data);
+
+ MPI_Finalize();
+
+ printf(" No Errors\n");
+
+ return 0;
+}
diff --git a/test/mpi/datatype/testlist.in b/test/mpi/datatype/testlist.in
index 0e53faf..a3a3271 100644
--- a/test/mpi/datatype/testlist.in
+++ b/test/mpi/datatype/testlist.in
@@ -4,6 +4,7 @@ lbub 1
localpack 1
simple-pack 1
simple-pack-external 1
+simple-pack-external2 1
transpose-pack 1
slice-pack 1
struct-pack 1
-----------------------------------------------------------------------
Summary of changes:
test/mpi/datatype/Makefile.am | 1 +
test/mpi/datatype/simple-pack-external2.c | 40 +++++++++++++++++++++++++++++
test/mpi/datatype/testlist.in | 1 +
3 files changed, 42 insertions(+), 0 deletions(-)
create mode 100644 test/mpi/datatype/simple-pack-external2.c
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-443-g3bb6c6c
by noreply@mpich.org 13 Sep '16
by noreply@mpich.org 13 Sep '16
13 Sep '16
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 3bb6c6c330d92087813c55de6379d5c8b30a9075 (commit)
via 5e836456e9685b855532e5f7efdcffcd681dc6e6 (commit)
from fd6627a1bf6cdbe629defe77db231558948c48dd (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/3bb6c6c330d92087813c55de6379d5c8b…
commit 3bb6c6c330d92087813c55de6379d5c8b30a9075
Author: Ken Raffenetti <raffenet(a)mcs.anl.gov>
Date: Fri Sep 9 11:25:23 2016 -0500
CH4/UCX: Fix bad pointer arithmetic
There were several places where we were doing arithmetic on void
pointers.
Signed-off-by: Lena Oden <loden(a)anl.gov>
diff --git a/src/mpid/ch4/netmod/ucx/ucx_am.h b/src/mpid/ch4/netmod/ucx/ucx_am.h
index f1700bc..d071891 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_am.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_am.h
@@ -136,7 +136,7 @@ static inline int MPIDI_NM_am_isend(int rank,
send_buf = MPL_malloc(data_sz + am_hdr_sz + sizeof(ucx_hdr));
MPIR_Memcpy(send_buf, &ucx_hdr, sizeof(ucx_hdr));
MPIR_Memcpy(send_buf + sizeof(ucx_hdr), am_hdr, am_hdr_sz);
- MPIR_Memcpy(send_buf + am_hdr_sz + sizeof(ucx_hdr), data + dt_true_lb, data_sz);
+ MPIR_Memcpy(send_buf + am_hdr_sz + sizeof(ucx_hdr), (char *) data + dt_true_lb, data_sz);
}
else {
size_t segment_first;
@@ -276,7 +276,7 @@ static inline int MPIDI_NM_am_isend_reply(MPIR_Context_id_t context_id,
send_buf = MPL_malloc(data_sz + am_hdr_sz + sizeof(ucx_hdr));
MPIR_Memcpy(send_buf, &ucx_hdr, sizeof(ucx_hdr));
MPIR_Memcpy(send_buf + sizeof(ucx_hdr), am_hdr, am_hdr_sz);
- MPIR_Memcpy(send_buf + am_hdr_sz + sizeof(ucx_hdr), data + dt_true_lb, data_sz);
+ MPIR_Memcpy(send_buf + am_hdr_sz + sizeof(ucx_hdr), (char *) data + dt_true_lb, data_sz);
ucp_request = (MPIDI_UCX_ucp_request_t *) ucp_tag_send_nb(ep, send_buf,
data_sz + am_hdr_sz +
diff --git a/src/mpid/ch4/netmod/ucx/ucx_recv.h b/src/mpid/ch4/netmod/ucx/ucx_recv.h
index d599ab1..6dd5ea6 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_recv.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_recv.h
@@ -121,7 +121,7 @@ static inline int do_irecv(void *buf,
MPIDI_Datatype_get_info(count, datatype, dt_contig, data_sz, dt_ptr, dt_true_lb);
if (dt_contig)
mpi_errno =
- ucx_irecv_continous(buf + dt_true_lb, data_sz, rank, tag, comm, context_offset,
+ ucx_irecv_continous((char *) buf + dt_true_lb, data_sz, rank, tag, comm, context_offset,
request);
else
mpi_errno =
@@ -183,7 +183,7 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_NM_mpi_imrecv(void *buf,
message_handler = MPIDI_UCX_REQ(message).a.message_handler;
if (dt_contig)
ucp_request = (MPIDI_UCX_ucp_request_t *) ucp_tag_msg_recv_nb(MPIDI_UCX_global.worker,
- buf + dt_true_lb, data_sz,
+ (char *) buf + dt_true_lb, data_sz,
ucp_dt_make_contig(1),
message_handler,
&MPIDI_UCX_Handle_recv_callback);
diff --git a/src/mpid/ch4/netmod/ucx/ucx_rma.h b/src/mpid/ch4/netmod/ucx/ucx_rma.h
index 3c0046c..53aa08e 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_rma.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_rma.h
@@ -123,7 +123,7 @@ static inline int MPIDI_NM_mpi_put(const void *origin_addr,
}
- mpi_errno = MPIDI_UCX_contig_put(origin_addr + origin_true_lb, origin_bytes,
+ mpi_errno = MPIDI_UCX_contig_put((char *) origin_addr + origin_true_lb, origin_bytes,
target_rank, target_disp, target_true_lb, win);
fn_exit:
return mpi_errno;
@@ -177,7 +177,7 @@ static inline int MPIDI_NM_mpi_get(void *origin_addr,
}
- return MPIDI_UCX_contig_get(origin_addr + origin_true_lb, origin_bytes,
+ return MPIDI_UCX_contig_get((char *) origin_addr + origin_true_lb, origin_bytes,
target_rank, target_disp, target_true_lb, win);
fn_exit:
return mpi_errno;
diff --git a/src/mpid/ch4/netmod/ucx/ucx_send.h b/src/mpid/ch4/netmod/ucx/ucx_send.h
index 5400320..c90972b 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_send.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_send.h
@@ -265,7 +265,7 @@ static inline int ucx_send(const void *buf,
if (dt_contig)
mpi_errno =
- ucx_send_continous(buf + dt_true_lb, data_sz, rank, tag, comm, context_offset, request,
+ ucx_send_continous((char *) buf + dt_true_lb, data_sz, rank, tag, comm, context_offset, request,
have_request);
else
mpi_errno =
@@ -301,7 +301,7 @@ static inline int ucx_sync_send(const void *buf,
if (dt_contig)
mpi_errno =
- ucx_sync_send_continous(buf + dt_true_lb, data_sz, rank, tag, comm, context_offset,
+ ucx_sync_send_continous((char *) buf + dt_true_lb, data_sz, rank, tag, comm, context_offset,
request, have_request);
else
mpi_errno =
http://git.mpich.org/mpich.git/commitdiff/5e836456e9685b855532e5f7efdcffcd6…
commit 5e836456e9685b855532e5f7efdcffcd681dc6e6
Author: Ken Raffenetti <raffenet(a)mcs.anl.gov>
Date: Fri Sep 9 11:21:06 2016 -0500
CH4/UCX: Fix unused variable warnings
Signed-off-by: Lena Oden <loden(a)anl.gov>
diff --git a/src/mpid/ch4/netmod/ucx/ucx_am.h b/src/mpid/ch4/netmod/ucx/ucx_am.h
index 4d1f8ec..f1700bc 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_am.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_am.h
@@ -89,7 +89,7 @@ static inline int MPIDI_NM_am_isend(int rank,
MPI_Datatype datatype, MPIR_Request * sreq,
void *netmod_context)
{
- int mpi_errno = MPI_SUCCESS, c;
+ int mpi_errno = MPI_SUCCESS;
MPIDI_UCX_ucp_request_t *ucp_request;
ucp_ep_h ep;
uint64_t ucx_tag;
@@ -246,13 +246,13 @@ static inline int MPIDI_NM_am_isend_reply(MPIR_Context_id_t context_id,
const void *data, MPI_Count count,
MPI_Datatype datatype, MPIR_Request * sreq)
{
- int mpi_errno = MPI_SUCCESS, c;
+ int mpi_errno = MPI_SUCCESS;
MPIDI_UCX_ucp_request_t *ucp_request;
ucp_ep_h ep;
uint64_t ucx_tag;
char *send_buf;
size_t data_sz;
- MPI_Aint dt_true_lb, last;
+ MPI_Aint dt_true_lb;
MPIR_Datatype *dt_ptr;
int dt_contig;
MPIDI_UCX_am_header_t ucx_hdr;
@@ -327,7 +327,7 @@ static inline int MPIDI_NM_am_send_hdr(int rank,
int handler_id,
const void *am_hdr, size_t am_hdr_sz, void *netmod_context)
{
- int mpi_errno = MPI_SUCCESS, c;
+ int mpi_errno = MPI_SUCCESS;
MPIDI_UCX_ucp_request_t *ucp_request;
ucp_ep_h ep;
uint64_t ucx_tag;
@@ -379,7 +379,7 @@ static inline int MPIDI_NM_am_send_hdr_reply(MPIR_Context_id_t context_id,
int src_rank,
int handler_id, const void *am_hdr, size_t am_hdr_sz)
{
- int mpi_errno = MPI_SUCCESS, c;
+ int mpi_errno = MPI_SUCCESS;
MPIDI_UCX_ucp_request_t *ucp_request;
ucp_ep_h ep;
uint64_t ucx_tag;
diff --git a/src/mpid/ch4/netmod/ucx/ucx_datatype.h b/src/mpid/ch4/netmod/ucx/ucx_datatype.h
index bfcd91d..c0cc42c 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_datatype.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_datatype.h
@@ -123,7 +123,6 @@ static inline int MPIDI_NM_mpi_type_create_hook(MPIR_Datatype * datatype_p)
{
ucp_datatype_t ucp_datatype;
ucs_status_t status;
- size_t size;
int is_contig;
diff --git a/src/mpid/ch4/netmod/ucx/ucx_init.h b/src/mpid/ch4/netmod/ucx/ucx_init.h
index 23354ef..2e523ea 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_init.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_init.h
@@ -26,12 +26,11 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
MPIR_Comm * comm_self,
int spawned, int num_contexts, void **netmod_contexts)
{
- int mpi_errno = MPI_SUCCESS, thr_err, pmi_errno;
+ int mpi_errno = MPI_SUCCESS, pmi_errno;
int str_errno = MPL_STR_SUCCESS;
ucp_config_t *config;
ucs_status_t ucx_status;
uint64_t features = 0;
- int status;
char valS[MPIDI_UCX_KVSAPPSTRLEN], *val;
char keyS[MPIDI_UCX_KVSAPPSTRLEN];
char remote_addr[MPIDI_UCX_KVSAPPSTRLEN];
@@ -39,9 +38,6 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
// char *table = NULL;
int i;
ucp_params_t ucp_params;
- int avtid = 0, max_n_avts;
-
- size_t address_length = 0;
MPIR_FUNC_VERBOSE_STATE_DECL(MPID_STATE_INIT);
MPIR_FUNC_VERBOSE_ENTER(MPID_STATE_INIT);
@@ -129,9 +125,8 @@ static inline int MPIDI_NM_mpi_init_hook(int rank,
static inline int MPIDI_NM_mpi_finalize_hook(void)
{
- int mpi_errno = MPI_SUCCESS, thr_err, pmi_errno;
+ int mpi_errno = MPI_SUCCESS, pmi_errno;
int i, j, max_n_avts;
- MPIR_Errflag_t errflag;
MPIR_Comm *comm;
max_n_avts = MPIDIU_get_max_n_avts();
@@ -261,7 +256,6 @@ static inline int MPIDI_NM_gpid_tolpidarray(int size, MPIR_Gpid gpid[], int lpid
for (i = 0; i < size; i++) {
int j, k;
- char tbladdr[128];
int found = 0;
for (k = 0; k < max_n_avts; k++) {
diff --git a/src/mpid/ch4/netmod/ucx/ucx_recv.h b/src/mpid/ch4/netmod/ucx/ucx_recv.h
index 4d762ad..d599ab1 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_recv.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_recv.h
@@ -114,7 +114,6 @@ static inline int do_irecv(void *buf,
int mpi_errno = MPI_SUCCESS;
size_t data_sz;
int dt_contig;
- MPIR_Request *req;
MPI_Aint dt_true_lb;
MPIR_Datatype *dt_ptr;
diff --git a/src/mpid/ch4/netmod/ucx/ucx_spawn.h b/src/mpid/ch4/netmod/ucx/ucx_spawn.h
index cdc8bae..d693edc 100644
--- a/src/mpid/ch4/netmod/ucx/ucx_spawn.h
+++ b/src/mpid/ch4/netmod/ucx/ucx_spawn.h
@@ -65,7 +65,6 @@ static inline int MPIDI_NM_mpi_comm_connect(const char *port_name,
static inline int MPIDI_NM_mpi_comm_disconnect(MPIR_Comm * comm_ptr)
{
int mpi_errno = MPI_SUCCESS;
- MPIR_Errflag_t errflag = MPIR_ERR_NONE;
MPIR_FUNC_VERBOSE_STATE_DECL(MPID_STATE_COMM_DISCONNECT);
MPIR_FUNC_VERBOSE_ENTER(MPID_STATE_COMM_DISCONNECT);
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch4/netmod/ucx/ucx_am.h | 14 +++++++-------
src/mpid/ch4/netmod/ucx/ucx_datatype.h | 1 -
src/mpid/ch4/netmod/ucx/ucx_init.h | 10 ++--------
src/mpid/ch4/netmod/ucx/ucx_recv.h | 5 ++---
src/mpid/ch4/netmod/ucx/ucx_rma.h | 4 ++--
src/mpid/ch4/netmod/ucx/ucx_send.h | 4 ++--
src/mpid/ch4/netmod/ucx/ucx_spawn.h | 1 -
7 files changed, 15 insertions(+), 24 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-441-gfd6627a
by noreply@mpich.org 12 Sep '16
by noreply@mpich.org 12 Sep '16
12 Sep '16
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 fd6627a1bf6cdbe629defe77db231558948c48dd (commit)
from a86e1cad9535de62d20e8363213e828ae5a43866 (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/fd6627a1bf6cdbe629defe77db2315589…
commit fd6627a1bf6cdbe629defe77db231558948c48dd
Author: Ken Raffenetti <raffenet(a)mcs.anl.gov>
Date: Wed Sep 7 12:35:16 2016 -0500
binding/f08: Fix name of struct
The MPI standard defines MPI_F08_status - no capital S.
Reported-by: James Custer <jcuster(a)sgi.com>
Signed-off-by: Rob Latham <robl(a)mcs.anl.gov>
diff --git a/src/include/mpi.h.in b/src/include/mpi.h.in
index d95e4a9..9972de3 100644
--- a/src/include/mpi.h.in
+++ b/src/include/mpi.h.in
@@ -748,16 +748,16 @@ typedef struct {
MPI_Fint MPI_SOURCE;
MPI_Fint MPI_TAG;
MPI_Fint MPI_ERROR;
-} MPI_F08_Status;
+} MPI_F08_status;
-extern MPI_F08_Status MPIR_F08_MPI_STATUS_IGNORE_OBJ;
-extern MPI_F08_Status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1];
+extern MPI_F08_status MPIR_F08_MPI_STATUS_IGNORE_OBJ;
+extern MPI_F08_status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1];
extern int MPIR_F08_MPI_IN_PLACE;
extern int MPIR_F08_MPI_BOTTOM;
/* Pointers to above objects */
-extern MPI_F08_Status *MPI_F08_STATUS_IGNORE;
-extern MPI_F08_Status *MPI_F08_STATUSES_IGNORE;
+extern MPI_F08_status *MPI_F08_STATUS_IGNORE;
+extern MPI_F08_status *MPI_F08_STATUSES_IGNORE;
/* For supported thread levels */
#define MPI_THREAD_SINGLE 0
diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c
index 9e20e9b..e63f959 100644
--- a/src/mpi/init/initthread.c
+++ b/src/mpi/init/initthread.c
@@ -284,14 +284,14 @@ int *MPIR_C_MPI_UNWEIGHTED;
int *MPIR_C_MPI_WEIGHTS_EMPTY;
int *MPIR_C_MPI_ERRCODES_IGNORE;
-MPI_F08_Status MPIR_F08_MPI_STATUS_IGNORE_OBJ;
-MPI_F08_Status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1];
+MPI_F08_status MPIR_F08_MPI_STATUS_IGNORE_OBJ;
+MPI_F08_status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1];
int MPIR_F08_MPI_IN_PLACE;
int MPIR_F08_MPI_BOTTOM;
/* Althought the two STATUS pointers are required but the MPI3.0, they are not used in MPICH F08 binding */
-MPI_F08_Status *MPI_F08_STATUS_IGNORE = &MPIR_F08_MPI_STATUS_IGNORE_OBJ;
-MPI_F08_Status *MPI_F08_STATUSES_IGNORE = &MPIR_F08_MPI_STATUSES_IGNORE_OBJ[0];
+MPI_F08_status *MPI_F08_STATUS_IGNORE = &MPIR_F08_MPI_STATUS_IGNORE_OBJ;
+MPI_F08_status *MPI_F08_STATUSES_IGNORE = &MPIR_F08_MPI_STATUSES_IGNORE_OBJ[0];
#endif
#if defined (MPL_USE_DBG_LOGGING)
-----------------------------------------------------------------------
Summary of changes:
src/include/mpi.h.in | 10 +++++-----
src/mpi/init/initthread.c | 8 ++++----
2 files changed, 9 insertions(+), 9 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-440-ga86e1ca
by noreply@mpich.org 12 Sep '16
by noreply@mpich.org 12 Sep '16
12 Sep '16
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 a86e1cad9535de62d20e8363213e828ae5a43866 (commit)
from f41c57bf9d4961ef3d0f4bb6e0707b6a2394722b (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/a86e1cad9535de62d20e8363213e828ae…
commit a86e1cad9535de62d20e8363213e828ae5a43866
Author: Min Si <msi(a)anl.gov>
Date: Thu Sep 8 22:57:42 2016 -0500
Fixed warning in mtest after commit eaf5c0cb.
Commit eaf5c0cb changed some integer input of function type
MTestDdtCreator to MPI_Aint type, but did not update the corresponding
functions, thus resulting in mismatching warning at compile time. This
patch fixes it.
diff --git a/test/mpi/util/mtest_datatype.c b/test/mpi/util/mtest_datatype.c
index f0445eb..da3af6d 100644
--- a/test/mpi/util/mtest_datatype.c
+++ b/test/mpi/util/mtest_datatype.c
@@ -648,8 +648,8 @@ static int MTestTypeSubarrayCheckbuf(MTestDatatype * mtype)
* lb: Lower bound of the new datatype (ignored).
* oldtype: Datatype of element.
*/
-static int MTestTypeContiguousCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
+static int MTestTypeContiguousCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype, const char *typename_prefix,
MTestDatatype * mtype)
{
int merr = 0;
@@ -672,7 +672,7 @@ static int MTestTypeContiguousCreate(int nblock, int blocklen, int stride, int l
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d count)", typename_prefix, "contiguous", nblock * blocklen);
+ sprintf(type_name, "%s %s (%ld count)", typename_prefix, "contiguous", nblock * blocklen);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
MTestPrintError(merr);
@@ -693,7 +693,7 @@ static int MTestTypeContiguousCreate(int nblock, int blocklen, int stride, int l
* lb: Lower bound of the new datatype (ignored).
* oldtype: Datatype of element.
*/
-static int MTestTypeVectorCreate(int nblock, int blocklen, int stride, int lb,
+static int MTestTypeVectorCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride, MPI_Aint lb,
MPI_Datatype oldtype, const char *typename_prefix,
MTestDatatype * mtype)
{
@@ -720,8 +720,8 @@ static int MTestTypeVectorCreate(int nblock, int blocklen, int stride, int lb,
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride)", typename_prefix, "vector", nblock,
- blocklen, stride);
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride)", typename_prefix, "vector",
+ nblock, blocklen, stride);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
MTestPrintError(merr);
@@ -742,7 +742,7 @@ static int MTestTypeVectorCreate(int nblock, int blocklen, int stride, int lb,
* lb: Lower bound of the new datatype (ignored).
* oldtype: Datatype of element.
*/
-static int MTestTypeHvectorCreate(int nblock, int blocklen, int stride, int lb,
+static int MTestTypeHvectorCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride, MPI_Aint lb,
MPI_Datatype oldtype, const char *typename_prefix,
MTestDatatype * mtype)
{
@@ -769,7 +769,7 @@ static int MTestTypeHvectorCreate(int nblock, int blocklen, int stride, int lb,
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride)", typename_prefix, "hvector",
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride)", typename_prefix, "hvector",
nblock, blocklen, stride);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -794,7 +794,7 @@ static int MTestTypeHvectorCreate(int nblock, int blocklen, int stride, int lb,
* lb: Lower bound of the new datatype.
* oldtype: Datatype of element.
*/
-static int MTestTypeIndexedCreate(int nblock, int blocklen, int stride, int lb,
+static int MTestTypeIndexedCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride, MPI_Aint lb,
MPI_Datatype oldtype, const char *typename_prefix,
MTestDatatype * mtype)
{
@@ -833,7 +833,7 @@ static int MTestTypeIndexedCreate(int nblock, int blocklen, int stride, int lb,
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride %d lb)", typename_prefix,
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride %ld lb)", typename_prefix,
"index", nblock, blocklen, stride, lb);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -857,9 +857,9 @@ static int MTestTypeIndexedCreate(int nblock, int blocklen, int stride, int lb,
* lb: Lower bound of the new datatype.
* oldtype: Datatype of element.
*/
-static inline int MTestTypeHindexedCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
- MTestDatatype * mtype)
+static inline int MTestTypeHindexedCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype,
+ const char *typename_prefix, MTestDatatype * mtype)
{
int merr;
char type_name[128];
@@ -895,7 +895,7 @@ static inline int MTestTypeHindexedCreate(int nblock, int blocklen, int stride,
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride %d lb)", typename_prefix,
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride %ld lb)", typename_prefix,
"hindex", nblock, blocklen, stride, lb);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -921,9 +921,9 @@ static inline int MTestTypeHindexedCreate(int nblock, int blocklen, int stride,
* lb: Lower bound of the new datatype.
* oldtype: Datatype of element.
*/
-static int MTestTypeIndexedBlockCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
- MTestDatatype * mtype)
+static int MTestTypeIndexedBlockCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype,
+ const char *typename_prefix, MTestDatatype * mtype)
{
int merr;
char type_name[128];
@@ -960,7 +960,7 @@ static int MTestTypeIndexedBlockCreate(int nblock, int blocklen, int stride, int
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride %d lb)", typename_prefix,
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride %ld lb)", typename_prefix,
"index_block", nblock, blocklen, stride, lb);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -984,9 +984,9 @@ static int MTestTypeIndexedBlockCreate(int nblock, int blocklen, int stride, int
* lb: Lower bound of the new datatype.
* oldtype: Datatype of element.
*/
-static int MTestTypeHindexedBlockCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
- MTestDatatype * mtype)
+static int MTestTypeHindexedBlockCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype,
+ const char *typename_prefix, MTestDatatype * mtype)
{
int merr;
char type_name[128];
@@ -1021,7 +1021,7 @@ static int MTestTypeHindexedBlockCreate(int nblock, int blocklen, int stride, in
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride %d lb)", typename_prefix,
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride %ld lb)", typename_prefix,
"hindex_block", nblock, blocklen, stride, lb);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -1046,7 +1046,7 @@ static int MTestTypeHindexedBlockCreate(int nblock, int blocklen, int stride, in
* lb: Lower bound of the new datatype.
* oldtype: Datatype of element. Each block has the same oldtype.
*/
-static int MTestTypeStructCreate(int nblock, int blocklen, int stride, int lb,
+static int MTestTypeStructCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride, MPI_Aint lb,
MPI_Datatype oldtype, const char *typename_prefix,
MTestDatatype * mtype)
{
@@ -1087,7 +1087,7 @@ static int MTestTypeStructCreate(int nblock, int blocklen, int stride, int lb,
MTestPrintError(merr);
memset(type_name, 0, sizeof(type_name));
- sprintf(type_name, "%s %s (%d nblock %d blocklen %d stride %d lb)", typename_prefix,
+ sprintf(type_name, "%s %s (%ld nblock %ld blocklen %ld stride %ld lb)", typename_prefix,
"struct", nblock, blocklen, stride, lb);
merr = MPI_Type_set_name(mtype->datatype, (char *) type_name);
if (merr)
@@ -1112,9 +1112,9 @@ static int MTestTypeStructCreate(int nblock, int blocklen, int stride, int lb,
* order: MPI_ORDER_C
* oldtype: oldtype
*/
-static int MTestTypeSubArrayOrderCCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
- MTestDatatype * mtype)
+static int MTestTypeSubArrayOrderCCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype,
+ const char *typename_prefix, MTestDatatype * mtype)
{
int merr;
char type_name[128];
@@ -1169,9 +1169,9 @@ static int MTestTypeSubArrayOrderCCreate(int nblock, int blocklen, int stride, i
* order: MPI_ORDER_FORTRAN
* oldtype: oldtype
*/
-static int MTestTypeSubArrayOrderFortranCreate(int nblock, int blocklen, int stride, int lb,
- MPI_Datatype oldtype, const char *typename_prefix,
- MTestDatatype * mtype)
+static int MTestTypeSubArrayOrderFortranCreate(MPI_Aint nblock, MPI_Aint blocklen, MPI_Aint stride,
+ MPI_Aint lb, MPI_Datatype oldtype,
+ const char *typename_prefix, MTestDatatype * mtype)
{
int merr;
char type_name[128];
-----------------------------------------------------------------------
Summary of changes:
test/mpi/util/mtest_datatype.c | 60 ++++++++++++++++++++--------------------
1 files changed, 30 insertions(+), 30 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-439-gf41c57b
by noreply@mpich.org 12 Sep '16
by noreply@mpich.org 12 Sep '16
12 Sep '16
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 f41c57bf9d4961ef3d0f4bb6e0707b6a2394722b (commit)
via eafd9b8ba716229b5eed23ad88d4c6602413fc04 (commit)
from c8ef14c5e1b49e822b5170b8efcc9154a0907673 (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/f41c57bf9d4961ef3d0f4bb6e0707b6a2…
commit f41c57bf9d4961ef3d0f4bb6e0707b6a2394722b
Author: Min Si <msi(a)anl.gov>
Date: Mon Sep 12 10:10:03 2016 -0500
Compile warning fix for test rma/get_accumulate.
No reviewer.
diff --git a/test/mpi/rma/get_accumulate.c b/test/mpi/rma/get_accumulate.c
index d81ab37..0ffee69 100644
--- a/test/mpi/rma/get_accumulate.c
+++ b/test/mpi/rma/get_accumulate.c
@@ -39,7 +39,8 @@
# define TYPE_MPI TYPE_MPI_BASE
#endif
-void reset_bufs(TYPE_C * win_ptr, TYPE_C * res_ptr, TYPE_C * val_ptr, TYPE_C value, MPI_Win win)
+static void reset_bufs(TYPE_C * win_ptr, TYPE_C * res_ptr, TYPE_C * val_ptr, TYPE_C value,
+ MPI_Win win)
{
int rank, nproc, i;
http://git.mpich.org/mpich.git/commitdiff/eafd9b8ba716229b5eed23ad88d4c6602…
commit eafd9b8ba716229b5eed23ad88d4c6602413fc04
Author: Min Si <msi(a)anl.gov>
Date: Mon Sep 12 09:18:49 2016 -0500
Reset result buffer for get_accumulate NO_OP tests.
Get_accumulate with NO_OP tests focus on the value of result buffer,
thus we should always reset the buffer before start test. In the
original code of rma/get_accumulate.c, the result buffer is only reset
for the first NO_OP test, thus the later tests cannot catch error.
diff --git a/test/mpi/rma/get_accumulate.c b/test/mpi/rma/get_accumulate.c
index 142ae38..d81ab37 100644
--- a/test/mpi/rma/get_accumulate.c
+++ b/test/mpi/rma/get_accumulate.c
@@ -305,6 +305,8 @@ int main(int argc, char **argv)
int j, target = (rank + 1) % nproc;
/* Test: origin_buf = NULL */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT); /* reset result buffer. */
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, COUNT, TYPE_MPI, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
@@ -319,6 +321,8 @@ int main(int argc, char **argv)
}
/* Test: origin_buf = NULL, origin_count = 0 */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT);
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, 0, TYPE_MPI, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
@@ -333,6 +337,8 @@ int main(int argc, char **argv)
}
/* Test: origin_buf = NULL, origin_count = 0, origin_dtype = NULL */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT);
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, 0, MPI_DATATYPE_NULL, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
@@ -361,6 +367,8 @@ int main(int argc, char **argv)
int j, target = rank;
/* Test: origin_buf = NULL */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT);
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, COUNT, TYPE_MPI, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
@@ -376,6 +384,8 @@ int main(int argc, char **argv)
}
/* Test: origin_buf = NULL, origin_count = 0 */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT);
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, 0, TYPE_MPI, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
@@ -391,6 +401,8 @@ int main(int argc, char **argv)
}
/* Test: origin_buf = NULL, origin_count = 0, origin_dtype = NULL */
+ memset(res_ptr, -1, sizeof(TYPE_C) * nproc * COUNT);
+
MPI_Win_lock(MPI_LOCK_EXCLUSIVE, target, 0, win);
MPI_Get_accumulate(NULL, 0, MPI_DATATYPE_NULL, res_ptr, COUNT, TYPE_MPI,
target, 0, COUNT, TYPE_MPI, MPI_NO_OP, win);
-----------------------------------------------------------------------
Summary of changes:
test/mpi/rma/get_accumulate.c | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0