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
- 2054 discussions
[mpich] MPICH primary repository branch, master, updated. v3.2-458-g0b2c485
by noreply@mpich.org 27 Sep '16
by noreply@mpich.org 27 Sep '16
27 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 0b2c485f02706c5988b878dc69dd350794847ff4 (commit)
from c0c907017064a8eceb9b46116a9c91b906634bdf (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/0b2c485f02706c5988b878dc69dd35079…
commit 0b2c485f02706c5988b878dc69dd350794847ff4
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Sat Feb 6 15:15:56 2016 -0600
fix wrong placement of MPID functionality.
Signed-off-by: Sangmin Seo <sseo(a)anl.gov>
diff --git a/src/mpid/ch3/include/mpidimpl.h b/src/mpid/ch3/include/mpidimpl.h
index f6959ad..e34aac1 100644
--- a/src/mpid/ch3/include/mpidimpl.h
+++ b/src/mpid/ch3/include/mpidimpl.h
@@ -1857,14 +1857,4 @@ int MPIDI_CH3_Req_handler_rma_op_complete(MPIR_Request *);
} while (0)
-int MPIDI_CH3I_Progress_register_hook(int (*progress_fn)(int*), int *id);
-int MPIDI_CH3I_Progress_deregister_hook(int id);
-int MPIDI_CH3I_Progress_activate_hook(int id);
-int MPIDI_CH3I_Progress_deactivate_hook(int id);
-
-#define MPID_Progress_register_hook(fn_, id_) MPIDI_CH3I_Progress_register_hook(fn_, id_)
-#define MPID_Progress_deregister_hook(id_) MPIDI_CH3I_Progress_deregister_hook(id_)
-#define MPID_Progress_activate_hook(id_) MPIDI_CH3I_Progress_activate_hook(id_)
-#define MPID_Progress_deactivate_hook(id_) MPIDI_CH3I_Progress_deactivate_hook(id_)
-
#endif /* !defined(MPICH_MPIDIMPL_H_INCLUDED) */
diff --git a/src/mpid/ch3/include/mpidpost.h b/src/mpid/ch3/include/mpidpost.h
index be5edb4..bc7a7f9 100644
--- a/src/mpid/ch3/include/mpidpost.h
+++ b/src/mpid/ch3/include/mpidpost.h
@@ -194,4 +194,14 @@ int MPID_PG_ForwardPGInfo( MPIR_Comm *peer_ptr, MPIR_Comm *comm_ptr,
int MPIDI_CH3I_Comm_create_hook(struct MPIR_Comm *);
int MPIDI_CH3I_Comm_destroy_hook(struct MPIR_Comm *);
+int MPIDI_CH3I_Progress_register_hook(int (*progress_fn)(int*), int *id);
+int MPIDI_CH3I_Progress_deregister_hook(int id);
+int MPIDI_CH3I_Progress_activate_hook(int id);
+int MPIDI_CH3I_Progress_deactivate_hook(int id);
+
+#define MPID_Progress_register_hook(fn_, id_) MPIDI_CH3I_Progress_register_hook(fn_, id_)
+#define MPID_Progress_deregister_hook(id_) MPIDI_CH3I_Progress_deregister_hook(id_)
+#define MPID_Progress_activate_hook(id_) MPIDI_CH3I_Progress_activate_hook(id_)
+#define MPID_Progress_deactivate_hook(id_) MPIDI_CH3I_Progress_deactivate_hook(id_)
+
#endif /* !defined(MPIDPOST_H_INCLUDED) */
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch3/include/mpidimpl.h | 10 ----------
src/mpid/ch3/include/mpidpost.h | 10 ++++++++++
2 files changed, 10 insertions(+), 10 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-457-gc0c9070
by noreply@mpich.org 22 Sep '16
by noreply@mpich.org 22 Sep '16
22 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 c0c907017064a8eceb9b46116a9c91b906634bdf (commit)
from 42f284d04cbf39c7944cff17233156ee1129e475 (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/c0c907017064a8eceb9b46116a9c91b90…
commit c0c907017064a8eceb9b46116a9c91b906634bdf
Author: Yanfei Guo <yguo(a)anl.gov>
Date: Thu Sep 22 14:33:39 2016 -0500
util: Add CVAR category for nodemap
Fix #2351
No Reviewer.
diff --git a/src/util/nodemap/build_nodemap.h b/src/util/nodemap/build_nodemap.h
index e6c24c4..212ac74 100644
--- a/src/util/nodemap/build_nodemap.h
+++ b/src/util/nodemap/build_nodemap.h
@@ -12,6 +12,10 @@
/*
=== BEGIN_MPI_T_CVAR_INFO_BLOCK ===
+categories:
+ - name : NODEMAP
+ description : cvars that control behavior of nodemap
+
cvars:
- name : MPIR_CVAR_NOLOCAL
category : NODEMAP
-----------------------------------------------------------------------
Summary of changes:
src/util/nodemap/build_nodemap.h | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-456-g42f284d
by noreply@mpich.org 21 Sep '16
by noreply@mpich.org 21 Sep '16
21 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 42f284d04cbf39c7944cff17233156ee1129e475 (commit)
via 6366c25a1b6d5e5a68ad7904b3b1d386da425c75 (commit)
via a65f6f65bf597adbeee29e4322ce4f1773bdaf26 (commit)
via 6c43258737569970dc0e971009aa813a7ccd1930 (commit)
from abcca8b44575e0148cd23217f9d1cfe7fc6d4a71 (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/42f284d04cbf39c7944cff17233156ee1…
commit 42f284d04cbf39c7944cff17233156ee1129e475
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Wed Sep 21 15:08:55 2016 +0100
Added dtype_send to the list of ignores
No reviewer.
diff --git a/test/mpi/.gitignore b/test/mpi/.gitignore
index 2782c04..40c2368 100644
--- a/test/mpi/.gitignore
+++ b/test/mpi/.gitignore
@@ -982,6 +982,7 @@
/pt2pt/bsendfrag
/pt2pt/bsendpending
/pt2pt/cancelrecv
+/pt2pt/dtype_send
/pt2pt/dup
/pt2pt/eagerdt
/pt2pt/errinstatta
http://git.mpich.org/mpich.git/commitdiff/6366c25a1b6d5e5a68ad7904b3b1d386d…
commit 6366c25a1b6d5e5a68ad7904b3b1d386da425c75
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Wed Sep 21 15:07:47 2016 +0100
Sort gitignore listing
No reviewer.
diff --git a/test/mpi/.gitignore b/test/mpi/.gitignore
index 3978431..2782c04 100644
--- a/test/mpi/.gitignore
+++ b/test/mpi/.gitignore
@@ -1,68 +1,20 @@
+
# entries moved here from the top-level .gitignore
-/confdb
-/f90/ext/ctypesfromc.c
-/f90/attr/Makefile.am
-/f90/datatype/Makefile.am
-/f90/datatype/hindex1f90.f90
-/f90/datatype/hindexed_blockf90.f90
-/f90/datatype/bottomf90.f90
-/f90/datatype/bottomc.c
-/f90/ext/Makefile.am
-/f90/ext/stamp-Makefile.am
-/f90/io/Makefile.am
-/f90/rma/Makefile.am
-/errors/f90/errhan/Makefile.am
-/errors/f90/errhan/testlist
-/errors/f90/errhan/uerrhandf90.f90
-/errors/f90/io
-/errors/f90/testlist
-/errors/f77/errhan/addsize.h
-/errors/f77/errhan/iooffset.h
-/f90/coll/
-/f90/comm/
-/f90/info/
-/f90/init/
-/f90/pt2pt/
-/f90/spawn/
-/f90/topo/
-/f90/profile
-/coll/gdb.script
-/coll/redscat2
-/coll/reduce_local
-/coll/summary.xml
-/f90/attr/attrmpi1f90.f90
-/f90/ext/allocmemf290.f90
-/threads/testlist
-/checktests
-/f77/spawn/testlist
-/f90/datatype/typename3f90.f90
+# other entries, should be all executables at this point
/aclocal.m4
-/f77/init/checksizes.c
-/f90/datatype/allctypesf90.f90
-/io/test.ord
-/io/i_setviewcur
-/threads/pt2pt/greq_test
-/threads/pt2pt/greq_wait
-/threads/pt2pt/multisend
-/threads/pt2pt/multisend2
-/threads/pt2pt/multisend3
-/threads/pt2pt/multisend4
-/testlist
-/runtests
-/results.txt
-/test.sln
-/test.ncb
-/test.suo
-/attr/attrt
+/attr/attr2type
+/attr/attrdeleteget
+/attr/attrend
+/attr/attrend2
/attr/attrerr
/attr/attrerrcomm
/attr/attrerrtype
-/attr/attrdeleteget
/attr/attric
/attr/attrorder
/attr/attrordercomm
/attr/attrordertype
/attr/attrorderwin
+/attr/attrt
/attr/baseattr2
/attr/baseattrcomm
/attr/baseattrwin
@@ -70,631 +22,76 @@
/attr/fkeyvalcomm
/attr/fkeyvaltype
/attr/fkeyvalwin
-/basic/simple
-/basic/sendrecv
-/basic/wtime
+/attr/keyval_double_free
+/basic/Netpipe.out
+/basic/adapt
+/basic/allmpi
/basic/netpipe
/basic/patterns
-/basic/srtest
/basic/self
-/basic/adapt
-/basic/allmpi
-/basic/Netpipe.out
-/coll/bcasttest
-/coll/allred
-/coll/alltoallv
-/coll/coll8
-/coll/coll13
-/coll/alltoallv
-/coll/redscat
-/coll/coll9
-/coll/coll7
-/coll/coll6
-/coll/coll5
-/coll/coll4
-/coll/coll3
-/coll/coll2
-/coll/allredmany
-/coll/scantst
-/coll/longuser
-/coll/coll10
-/coll/coll11
-/coll/coll12
-/coll/scatterv
-/coll/scattern
-/coll/rerr
-/coll/bcast_full
-/coll/bcast_min_datatypes
-/coll/bcast_comm_world
-/coll/exscan2
-/coll/exscan
-/coll/icallgather
-/coll/icallgatherv
-/coll/icallreduce
-/coll/icalltoall
-/coll/icbarrier
-/coll/icbcast
-/coll/icgather
-/coll/icgatherv
-/coll/icreduce
-/coll/icscatter
-/coll/icscatterv
-/coll/allgatherv2
-/coll/alltoallv0
-/coll/testlist
-/comm/dup
-/comm/ic1
-/comm/cfree
-/comm/commname
-/comm/dupic
-/comm/ctxalloc
-/comm/comm_idup_iallreduce
-/cxx/testlist
-/cxx/topo/testlist
-/cxx/coll/uallreduce
-/cxx/coll/ureduce
-/cxx/coll/uscan
-/cxx/coll/uexscan
-/cxx/coll/icbcastx
-/cxx/coll/icbarrierx
-/cxx/coll/icgatherx
-/cxx/coll/icgathervx
-/cxx/coll/icscatterx
-/cxx/coll/icscattervx
-/cxx/coll/icallgatherx
-/cxx/coll/icallgathervx
-/cxx/coll/icallreducex
-/cxx/io/iwritex.cxx
-/cxx/io/iwriteatx.cxx
-/cxx/io/iwriteshx.cxx
-/cxx/io/writex.cxx
-/cxx/io/writeatx.cxx
-/cxx/io/writeallx.cxx
-/cxx/io/writeordx.cxx
-/cxx/io/writeordbex.cxx
-/cxx/io/writeshx.cxx
-/cxx/io/writeatallx.cxx
-/cxx/io/writeatallbex.cxx
-/cxx/io/writeallbex.cxx
-/cxx/io/iwritenosx.cxx
-/cxx/io/iwriteatnosx.cxx
-/cxx/io/iwriteshnosx.cxx
-/cxx/io/writenosx.cxx
-/cxx/io/writeatnosx.cxx
-/cxx/io/writeallnosx.cxx
-/cxx/io/writeordnosx.cxx
-/cxx/io/writeordbenosx.cxx
-/cxx/io/writeshnosx.cxx
-/cxx/io/writeatallnosx.cxx
-/cxx/io/writeatallbenosx.cxx
-/cxx/io/writeallbenosx.cxx
-/cxx/io/iwritex
-/cxx/io/iwriteatx
-/cxx/io/writex
-/cxx/io/writeatx
-/cxx/io/writeallx
-/cxx/io/writeordx
-/cxx/io/writeordbex
-/cxx/io/writeshx
-/cxx/io/writeatallx
-/cxx/io/writeatallbex
-/cxx/io/writeallbex
-/cxx/io/iwritenosx
-/cxx/io/iwriteatnosx
-/cxx/io/writenosx
-/cxx/io/writeatnosx
-/cxx/io/writeallnosx
-/cxx/io/writeordnosx
-/cxx/io/writeordbenosx
-/cxx/io/writeshnosx
-/cxx/io/writeatallnosx
-/cxx/io/writeatallbenosx
-/cxx/io/writeallbenosx
-/cxx/pt2pt/bsend1cxx
-/cxx/spawn/testlist
-/cxx/spawn/namepubx
-/cxx/spawn/spawnintrax
-/cxx/spawn/spawnintrax
-/cxx/spawn/spawnargvx
-/cxx/spawn/selfconaccx
-/datatype/testlist
-/datatype/segtest
-/datatype/typename
-/datatype/contents
-/datatype/struct-pack
-/datatype/triangular-pack
-/datatype/slice-pack
-/datatype/simple-pack
-/datatype/transpose-pack
-/datatype/lbub
-/datatype/bsend1
-/datatype/getpartelm
-/datatype/localpack
-/datatype/zeroparms
-/errhan/errstring
-/errhan/errcode.c
-/errhan/errcode
-/errhan/adderr
-/errhan/errring
-/errors/testlist
-/errors/coll/noalias
-/errors/coll/noalias2
-/errors/coll/noalias3
-/errors/coll/rerr
-/errors/coll/bcastlength
-/errors/cxx/testlist
-/errors/errhan/errstring
-/errors/errhan/errcode.c
-/errors/errhan/errcode
-/errors/errhan/adderr
-/errors/errhan/errring
-/errors/f77/io/iooffset.h
-/errors/f77/io/addsize.h
-/errors/f77/testlist
-/errors/group/rerr
-/errors/io/fileerrret
-/errors/io/file_errhdl
-/errors/pt2pt/proberank
-/errors/pt2pt/truncmsg2
-/errors/spawn/badport
-/errors/spawn/testlist
-/errors/topo/cartsmall
-/f77/testlist
-/f77/attr/baseattr
-/f77/attr/attraints.h
-/f77/datatype/typeaints.h
-/f77/ext/add1size.h
-/f77/ext/c2f2cf
-/f77/ext/testlist
-/f77/info/infotest
-/f77/io/iwritef.f
-/f77/io/iwriteatf.f
-/f77/io/iwriteshf.f
-/f77/io/writef.f
-/f77/io/writeatf.f
-/f77/io/writeallf.f
-/f77/io/writeordf.f
-/f77/io/writeordbef.f
-/f77/io/writeshf.f
-/f77/io/writeatallf.f
-/f77/io/iwriteatallf.f
-/f77/io/writeatallbef.f
-/f77/io/writeallbef.f
-/f77/io/iwritef
-/f77/io/iwriteatf
-/f77/io/writef
-/f77/io/writeatf
-/f77/io/writeallf
-/f77/io/writeordf
-/f77/io/writeordbef
-/f77/io/writeshf
-/f77/io/writeatall
-/f77/io/writeatallbef
-/f77/io/writeallbef
-/f77/io/i_setviewcurf
-/f77/io/iooffset.h
-/f77/io/iodisp.h
-/f77/io/ioaint.h
-/f77/pt2pt/attr1aints.h
-/f77/rma/addsize.h
-/f77/rma/testlist
-/f77/spawn/type1aint.h
-/f77/spawn/connaccf
-/f77/spawn/namepubf
-/f77/spawn/spawnargvf
-/f77/spawn/spawnmultf
-/f77/spawn/spawnf
-/f77/spawn/spawnmult2f
-/f90/testlist
-/f90/util
-/f90/attr/baseattrf90.f90
-/f90/attr/baseattr2f90.f90
-/f90/attr/baseattrwinf90.f90
-/f90/attr/commattrf90.f90
-/f90/attr/commattr2f90.f90
-/f90/attr/commattr3f90.f90
-/f90/attr/commattr4f90.f90
-/f90/attr/typeattrf90.f90
-/f90/attr/typeattr2f90.f90
-/f90/attr/typeattr3f90.f90
-/f90/attr/winattrf90.f90
-/f90/attr/winattr2f90.f90
-/f90/attr/Makefile.sm
-/f90/attr/testlist
-/f90/coll/uallreducef90.f90
-/f90/coll/alltoallwf90.f90
-/f90/coll/exscanf90.f90
-/f90/coll/inplacef90.f90
-/f90/coll/allredint8f90.f90
-/f90/coll/allredopttf90.f90
-/f90/coll/Makefile.sm
-/f90/coll/testlist
-/f90/comm/Makefile.sm
-/f90/comm/testlist
-/f90/comm/commerrf90.f90
-/f90/comm/commnamef90.f90
-/f90/datatype/Makefile.sm
-/f90/datatype/testlist
-/f90/datatype/typenamef90.f90
-/f90/datatype/packef90.f90
-/f90/datatype/typecntsf90.f90
-/f90/datatype/typem2f90.f90
-/f90/datatype/typesnamef90.f90
-/f90/datatype/typesubf90.f90
-/f90/datatype/gaddressf90.f90
-/f90/datatype/indtype
-/f90/ext/Makefile.sm
-/f90/ext/testlist
-/f90/ext/testlist.in
-/f90/ext/allocmemf90.f90
-/f90/ext/allocmem90.f90
-/f90/ext/c2f2cf90.f90
-/f90/ext/c2f902c.c
-/f90/ext/c2f90mult.c
-/f90/ext/ctypesf90romc.c
-/f90/ext/ctypesinf90.f90
-/f90/info/Makefile.sm
-/f90/info/infotestf90.f90
-/f90/info/infotest2f90.f90
-/f90/info/infotest
-/f90/info/testlist
-/f90/init/Makefile.sm
-/f90/init/testlist
-/f90/init/baseenvf90.f90
-/f90/io/shpositionf90.f90
-/f90/io/fileerrf90.f90
-/f90/io/fileinfof90.f90
-/f90/io/miscfilef90.f90
-/f90/io/atomicityf90.f90
-/f90/io/setviewcurf90.f90
-/f90/io/iwritef90.f90
-/f90/io/iwriteatf90.f90
-/f90/io/iwriteshf90.f90
-/f90/io/writef90.f90
-/f90/io/writeatf90.f90
-/f90/io/writeallf90.f90
-/f90/io/writeordf90.f90
-/f90/io/writeordbef90.f90
-/f90/io/writeshf90.f90
-/f90/io/writeatallf90.f90
-/f90/io/iwriteatallf90.f90
-/f90/io/writeatallbef90.f90
-/f90/io/writeallbef90.f90
-/f90/io/c2f2ciof90.f90
-/f90/io/c2f902cio.c
-/f90/io/c2f90multio.c
-/f90/io/Makefile.sm
-/f90/io/testlist
-/f90/io/testlist.in
-/f90/io/ioharness.defn
-/f90/io/ioharness.tlt
-/f90/io/i_setviewcurf90.f90
-/f90/misc/sizeof
-/f90/misc/f77tof90
-/f90/pt2pt/Makefile.sm
-/f90/pt2pt/testlist
-/f90/pt2pt/statusesf90.f90
-/f90/pt2pt/greqf90.f90
-/f90/pt2pt/greqf90
-/f90/pt2pt/statusesf90
-/f90/rma/Makefile.sm
-/f90/rma/testlist
-/f90/rma/testlist.in
-/f90/rma/winaccf90.f90
-/f90/rma/winerrf90.f90
-/f90/rma/winfencef90.f90
-/f90/rma/wingetf90.f90
-/f90/rma/wingroupf90.f90
-/f90/rma/winnamef90.f90
-/f90/rma/winscale1f90.f90
-/f90/rma/winscale2f90.f90
-/f90/rma/winaccf90
-/f90/rma/winerrf90
-/f90/rma/winfencef90
-/f90/rma/wingetf90
-/f90/rma/wingroupf90
-/f90/rma/winnamef90
-/f90/rma/winscale1f90
-/f90/rma/winscale2f90
-/f90/rma/aintf90.f90
-/f90/rma/c2f2cwinf90.f90
-/f90/rma/c2f902cwin.c
-/f90/spawn/Makefile.sm
-/f90/spawn/testlist
-/f90/spawn/namepubf90.f90
-/f90/spawn/spawnf90.f90
-/f90/spawn/spawnargvf90.f90
-/f90/spawn/spawnmultf90.f90
-/f90/spawn/spawnmult2f90.f90
-/f90/spawn/connaccf90.f90
-/f90/spawn/namepubf90
-/f90/spawn/connaccf90
-/f90/spawn/spawnargvf90
-/f90/spawn/spawnf90
-/f90/spawn/spawnmult2f90
-/f90/spawn/spawnmultf90
-/f90/timer/testlist
-/f90/timer/wtimef90
-/f90/topo/Makefile.sm
-/f90/topo/testlist
-/f90/topo/cartcrf90.f90
-/f08/ring_usempif08
-/f08/hello_usempif08
-/f08/pt2pt/statusesf08
-/f08/pt2pt/allpairf08
-/f08/pt2pt/greqf08
-/f08/pt2pt/dummyf08
-/f08/pt2pt/mprobef08
-/f08/coll/uallreducef08
-/f08/coll/exscanf08
-/f08/coll/alltoallwf08
-/f08/coll/inplacef08
-/f08/coll/allredint8f08
-/f08/coll/allredopttf08
-/f08/coll/reducelocalf08
-/f08/coll/alltoallvf08
-/f08/coll/redscatf08
-/f08/coll/split_typef08
-/f08/coll/nonblockingf08
-/f08/coll/vw_inplacef08
-/f08/coll/red_scat_blockf08
-/f08/coll/nonblocking_inpf08
-/f08/datatype/typenamef08
-/f08/datatype/typesnamef08
-/f08/datatype/typecntsf08
-/f08/datatype/typesubf08
-/f08/datatype/typem2f08
-/f08/datatype/gaddressf08
-/f08/datatype/packef08
-/f08/datatype/allctypesf08
-/f08/datatype/hindex1f08
-/f08/datatype/hindexed_blockf08
-/f08/datatype/typename3f08
-/f08/datatype/structf
-/f08/datatype/indtype
-/f08/datatype/createf08
-/f08/datatype/sizeof
-/f08/datatype/kinds
-/f08/datatype/trf08
-/f08/datatype/get_elem_d
-/f08/datatype/get_elem_u
-/f08/rma/testlist
-/f08/spawn/testlist
-/f08/io/iwriteatallf90.f90
-/f08/io/iwriteatallf90
-/f08/io/i_fcoll_test
-/f08/io/testlist
-/f08/attr/attrlangf08
-/f08/attr/attrmpi1f08
-/f08/attr/baseattr2f08
-/f08/attr/baseattr3f08
-/f08/attr/baseattrf08
-/f08/attr/commattr2f08
-/f08/attr/commattr3f08
-/f08/attr/commattrf08
-/f08/attr/fandcattrf08
-/f08/attr/typeattr2f08
-/f08/attr/typeattr3f08
-/f08/attr/typeattrf08
-/f08/comm/commerrf08
-/f08/comm/commnamef08
-/f08/ext/c2f2cf90
-/f08/ext/c2f902c.c
-/f08/ext/c2f90mult
-/f08/ext/ctypesfromc.c
-/f08/ext/ctypesinf90
-/f08/info/infotest2f90
-/f08/info/infotestf90
-/f08/init/baseenvf90
-/f08/io/atomicityf90
-/f08/io/c2f2ciof90
-/f08/io/c2f90multio
-/f08/io/fileerrf90
-/f08/io/fileinfof90
-/f08/io/iwriteatf90
-/f08/io/iwriteatf90.f90
-/f08/io/iwritef90
-/f08/io/iwritef90.f90
-/f08/io/iwriteshf90
-/f08/io/iwriteshf90.f90
-/f08/io/miscfilef90
-/f08/io/setviewcurf90
-/f08/io/shpositionf90
-/f08/io/writeallbef90
-/f08/io/writeallbef90.f90
-/f08/io/writeallf90
-/f08/io/writeallf90.f90
-/f08/io/writeatallbef90
-/f08/io/writeatallbef90.f90
-/f08/io/writeatallf90
-/f08/io/writeatallf90.f90
-/f08/io/writeatf90
-/f08/io/writeatf90.f90
-/f08/io/writef90
-/f08/io/writef90.f90
-/f08/io/writeordbef90
-/f08/io/writeordbef90.f90
-/f08/io/writeordf90
-/f08/io/writeordf90.f90
-/f08/io/writeshf90
-/f08/io/writeshf90.f90
-/f08/misc/hello
-/f08/misc/ring
-/f08/misc/sizeof2
-/f08/profile/profile1f90
-/f08/rma/aintf08
-/f08/rma/baseattrwinf08
-/f08/rma/c2f2cwinf08
-/f08/rma/winaccf08
-/f08/rma/winattr2f08
-/f08/rma/winattrf08
-/f08/rma/winerrf08
-/f08/rma/winfencef08
-/f08/rma/wingetf08
-/f08/rma/wingroupf08
-/f08/rma/winnamef08
-/f08/rma/winscale1f08
-/f08/rma/winscale2f08
-/f08/spawn/connaccf90
-/f08/spawn/namepubf90
-/f08/spawn/spawnargvf03
-/f08/spawn/spawnargvf90
-/f08/spawn/spawnf90
-/f08/spawn/spawnmult2f90
-/f08/spawn/spawnmultf03
-/f08/spawn/spawnmultf90
-/f08/subarray/test1
-/f08/subarray/test10
-/f08/subarray/test11
-/f08/subarray/test12
-/f08/subarray/test13
-/f08/subarray/test14
-/f08/subarray/test15
-/f08/subarray/test2
-/f08/subarray/test3
-/f08/subarray/test4
-/f08/subarray/test5
-/f08/subarray/test6
-/f08/subarray/test7
-/f08/subarray/test8
-/f08/subarray/test9
-/f08/timer/wtimef90
-/f08/topo/cart_subf90
-/f08/topo/cartcrf90
-/f08/topo/dgraph_unwgtf90
-/f08/topo/dgraph_wgtf90
-/group/errstring
-/group/grouptest
-/group/groupcreate
-/group/grouptest2
-/group/glpid
-/group/groupnullincl
-/group/gtranks
-/info/infodel
-/info/infodup
-/info/infoorder
-/info/infovallen
-/init/exitst1
-/init/exitst2
-/init/initstat
-/init/timeout
-/init/version
-/io/rdwrord
-/io/testfile*
-/io/async
-/io/async_any
-/io/getextent
-/io/i_noncontig
-/io/rdwrzero
-/io/setinfo
-/io/setviewcur
-/io/userioerr
-/io/external32-derived-dtype
-/maint/testmerge
-/maint/conftimestamp
-/maint/f77tof90
-/manual/singjoin
-/manual/testconnect
-/manual/manyconnect
-/manual/dimsbalanced
-/manual/test-port
-/perf/transp-datatype
-/perf/twovec
-/perf/sendrecvl
-/pt2pt/dup
-/pt2pt/bsend1
-/pt2pt/bsend2
-/pt2pt/bsend3
-/pt2pt/bsend4
-/pt2pt/isendself
-/pt2pt/bsendfrag
-/pt2pt/cancelrecv
-/pt2pt/errinstatta
-/pt2pt/errinstatts
-/pt2pt/errinstatwa
-/pt2pt/errinstatws
-/pt2pt/inactivereq
-/rma/testlist
-/rma/ircpi
-/rma/test1
-/rma/test2
-/rma/test3
-/rma/test4
-/rma/test5
-/rma/transpose1
-/rma/transpose2
-/rma/transpose3
-/rma/transpose4
-/rma/transpose5
-/rma/transpose6
-/rma/transpose7
-/rma/fetchandadd
-/rma/fetchandadd_tree
-/rma/winname
-/rma/accfence1
-/rma/accfence2
-/rma/allocmem
-/rma/getfence1
-/rma/getgroup
-/rma/putfence1
-/rma/putpscw1
-/rma/wintest
-/rma/manyget
-/rma/lock_dt
-/rma/lock_dt_flush
-/rma/lock_dt_flushlocal
-/rma/lockall_dt
-/rma/lockall_dt_flush
-/rma/lockall_dt_flushall
-/rma/lockall_dt_flushlocal
-/rma/lockall_dt_flushlocalall
-/rma/lock_contention_dt
-/spawn/namepub
-/spawn/disconnect3
-/spawn/spaiccreate
-/spawn/spawn1
-/spawn/spawn2
-/threads/pt2pt/threaded_sr
-/threads/pt2pt/alltoall
-/threads/pt2pt/sendselfth
-/threads/mpi_t/mpit_threading
-/threads/spawn/threaded_sr
-/threads/spawn/alltoall
-/threads/spawn/sendselfth
-/topo/cartmap1
-/topo/cartshift1
-/topo/cartsuball
-/topo/dims1
-/topo/graphmap1
-/topo/topodup
-/topo/topotest
-
-# other entries, should be all executables at this point
-/attr/attr2type
-/attr/attrend
-/attr/attrend2
-/attr/keyval_double_free
+/basic/sendrecv
+/basic/simple
+/basic/srtest
+/basic/wtime
+/checktests
/coll/allgather2
/coll/allgather3
+/coll/allgatherv2
/coll/allgatherv3
/coll/allgatherv4
+/coll/allred
/coll/allred2
/coll/allred3
/coll/allred4
/coll/allred5
/coll/allred6
+/coll/allredmany
/coll/alltoall1
+/coll/alltoallv
+/coll/alltoallv
+/coll/alltoallv0
/coll/alltoallw1
/coll/alltoallw2
/coll/alltoallw_zeros
+/coll/bcast_comm_world
+/coll/bcast_full
+/coll/bcast_min_datatypes
+/coll/bcasttest
/coll/bcastzerotype
+/coll/coll10
+/coll/coll11
+/coll/coll12
+/coll/coll13
+/coll/coll2
+/coll/coll3
+/coll/coll4
+/coll/coll5
+/coll/coll6
+/coll/coll7
+/coll/coll8
+/coll/coll9
+/coll/exscan
+/coll/exscan2
/coll/gather
/coll/gather2
/coll/gather_big
+/coll/gdb.script
/coll/iallred
/coll/ibarrier
+/coll/icallgather
+/coll/icallgatherv
+/coll/icallreduce
+/coll/icalltoall
/coll/icalltoallv
/coll/icalltoallw
+/coll/icbarrier
+/coll/icbcast
+/coll/icgather
+/coll/icgatherv
+/coll/icreduce
+/coll/icscatter
+/coll/icscatterv
+/coll/longuser
/coll/nballtoall1
/coll/nbcoll2
/coll/nbredscat
@@ -720,14 +117,24 @@
/coll/red4
/coll/red_scat_block
/coll/red_scat_block2
+/coll/redscat
+/coll/redscat2
/coll/redscat3
/coll/redscatbkinter
/coll/redscatblk3
/coll/redscatinter
/coll/reduce
+/coll/reduce_local
+/coll/rerr
+/coll/scantst
/coll/scatter2
/coll/scatter3
+/coll/scattern
+/coll/scatterv
+/coll/summary.xml
+/coll/testlist
/coll/uoplong
+/comm/cfree
/comm/cmfree
/comm/cmsplit
/comm/cmsplit2
@@ -736,18 +143,25 @@
/comm/comm_group_half
/comm/comm_group_rand
/comm/comm_idup
+/comm/comm_idup_iallreduce
/comm/comm_idup_mul
/comm/comm_idup_overlap
/comm/comm_info
/comm/commcreate1
+/comm/commname
+/comm/ctxalloc
/comm/ctxsplit
+/comm/dup
/comm/dup_with_info
+/comm/dupic
+/comm/ic1
/comm/ic2
/comm/iccreate
/comm/icgroup
/comm/icm
/comm/icsplit
/comm/probe-intercomm
+/confdb
/cxx/attr/attricx
/cxx/attr/attrtx
/cxx/attr/baseattrcommx
@@ -755,10 +169,23 @@
/cxx/attr/fkeyvaltypex
/cxx/coll/alltoallw2x
/cxx/coll/arcomplex
+/cxx/coll/icallgathervx
+/cxx/coll/icallgatherx
+/cxx/coll/icallreducex
/cxx/coll/icalltoallx
+/cxx/coll/icbarrierx
+/cxx/coll/icbcastx
+/cxx/coll/icgathervx
+/cxx/coll/icgatherx
/cxx/coll/icreducex
+/cxx/coll/icscattervx
+/cxx/coll/icscatterx
/cxx/coll/reduceboolx
+/cxx/coll/uallreduce
/cxx/coll/uallredx
+/cxx/coll/uexscan
+/cxx/coll/ureduce
+/cxx/coll/uscan
/cxx/comm/commname2
/cxx/datatype/packsizex
/cxx/datatype/typecntsx
@@ -775,11 +202,58 @@
/cxx/io/fileerrx
/cxx/io/fileinfox
/cxx/io/filemiscx
+/cxx/io/iwriteatnosx
+/cxx/io/iwriteatnosx.cxx
+/cxx/io/iwriteatx
+/cxx/io/iwriteatx.cxx
+/cxx/io/iwritenosx
+/cxx/io/iwritenosx.cxx
/cxx/io/iwriteshnosx
+/cxx/io/iwriteshnosx.cxx
/cxx/io/iwriteshx
+/cxx/io/iwriteshx.cxx
+/cxx/io/iwritex
+/cxx/io/iwritex.cxx
/cxx/io/seekavail
/cxx/io/setinfox
/cxx/io/shpositionx
+/cxx/io/writeallbenosx
+/cxx/io/writeallbenosx.cxx
+/cxx/io/writeallbex
+/cxx/io/writeallbex.cxx
+/cxx/io/writeallnosx
+/cxx/io/writeallnosx.cxx
+/cxx/io/writeallx
+/cxx/io/writeallx.cxx
+/cxx/io/writeatallbenosx
+/cxx/io/writeatallbenosx.cxx
+/cxx/io/writeatallbex
+/cxx/io/writeatallbex.cxx
+/cxx/io/writeatallnosx
+/cxx/io/writeatallnosx.cxx
+/cxx/io/writeatallx
+/cxx/io/writeatallx.cxx
+/cxx/io/writeatnosx
+/cxx/io/writeatnosx.cxx
+/cxx/io/writeatx
+/cxx/io/writeatx.cxx
+/cxx/io/writenosx
+/cxx/io/writenosx.cxx
+/cxx/io/writeordbenosx
+/cxx/io/writeordbenosx.cxx
+/cxx/io/writeordbex
+/cxx/io/writeordbex.cxx
+/cxx/io/writeordnosx
+/cxx/io/writeordnosx.cxx
+/cxx/io/writeordx
+/cxx/io/writeordx.cxx
+/cxx/io/writeshnosx
+/cxx/io/writeshnosx.cxx
+/cxx/io/writeshx
+/cxx/io/writeshx.cxx
+/cxx/io/writex
+/cxx/io/writex.cxx
+/cxx/pt2pt/bsend1cxx
/cxx/pt2pt/sendrecvx
/cxx/rma/fkeyvalwinx
/cxx/rma/getgroupx
@@ -788,8 +262,18 @@
/cxx/rma/winnamex
/cxx/rma/winscale1x
/cxx/rma/winscale2x
+/cxx/spawn/namepubx
+/cxx/spawn/selfconaccx
+/cxx/spawn/spawnargvx
+/cxx/spawn/spawnintrax
+/cxx/spawn/spawnintrax
+/cxx/spawn/testlist
+/cxx/testlist
+/cxx/topo/testlist
/datatype/blockindexed-misc
/datatype/blockindexed-zero-count
+/datatype/bsend1
+/datatype/contents
/datatype/contig-zero-count
/datatype/contigstruct
/datatype/cxx-types
@@ -798,46 +282,68 @@
/datatype/gaddress
/datatype/get-elements
/datatype/get-elements-pairtype
+/datatype/getpartelm
/datatype/hindexed-zeros
/datatype/hindexed_block
/datatype/hindexed_block_contents
/datatype/indexed-misc
/datatype/large-count
+/datatype/lbub
+/datatype/localpack
/datatype/longdouble
/datatype/lots-of-types
/datatype/pairtype-pack
/datatype/pairtype-size-extent
+/datatype/segtest
/datatype/simple-commit
+/datatype/simple-pack
/datatype/simple-pack-external
/datatype/simple-resized
/datatype/simple-size-extent
/datatype/sizedtypes
+/datatype/slice-pack
/datatype/slice-pack-external
/datatype/struct-derived-zeros
/datatype/struct-empty-el
/datatype/struct-ezhov
/datatype/struct-no-real-types
+/datatype/struct-pack
/datatype/struct-verydeep
/datatype/struct-zero-count
/datatype/subarray
/datatype/subarray-pack
+/datatype/testlist
/datatype/tfree
/datatype/tmatchsize
+/datatype/transpose-pack
/datatype/tresized
/datatype/tresized2
+/datatype/triangular-pack
/datatype/typecommit
/datatype/typefree
/datatype/typelb
+/datatype/typename
/datatype/unpack
/datatype/unusual-noncontigs
/datatype/zeroblks
+/datatype/zeroparms
+/errhan/adderr
/errhan/commcall
+/errhan/errcode
+/errhan/errcode.c
/errhan/errfatal
+/errhan/errring
+/errhan/errstring
/errhan/predef_eh
/errors/attr/keyvalmis
/errors/basic/debabort
/errors/basic/lefthandles
+/errors/coll/bcastlength
+/errors/coll/noalias
+/errors/coll/noalias2
+/errors/coll/noalias3
/errors/coll/reduce_local
+/errors/coll/rerr
/errors/comm/ccreate1
/errors/comm/cfree
/errors/comm/manysplit
@@ -852,20 +358,41 @@
/errors/cxx/io/errgetfilex
/errors/cxx/io/fileerrretx
/errors/cxx/io/throwtestfilex
+/errors/cxx/testlist
/errors/datatype/getcnterr
+/errors/errhan/adderr
+/errors/errhan/errcode
+/errors/errhan/errcode.c
+/errors/errhan/errring
+/errors/errhan/errstring
+/errors/f77/errhan/addsize.h
+/errors/f77/errhan/iooffset.h
/errors/f77/errhan/uerrhandf
+/errors/f77/io/addsize.h
+/errors/f77/io/iooffset.h
+/errors/f77/testlist
/errors/f90/errhan/
+/errors/f90/errhan/Makefile.am
+/errors/f90/errhan/testlist
+/errors/f90/errhan/uerrhandf90.f90
+/errors/f90/io
+/errors/f90/testlist
/errors/faults/collf1
/errors/faults/collf2
/errors/faults/pt2ptf1
/errors/faults/pt2ptf2
/errors/group/gerr
+/errors/group/rerr
+/errors/io/file_errhdl
+/errors/io/fileerrret
/errors/io/openerr
/errors/pt2pt/errinstatta
/errors/pt2pt/errinstatts
/errors/pt2pt/errinstatwa
/errors/pt2pt/errinstatws
+/errors/pt2pt/proberank
/errors/pt2pt/truncmsg1
+/errors/pt2pt/truncmsg2
/errors/rma/cas_type_check
/errors/rma/win_sync_complete
/errors/rma/win_sync_free_at
@@ -878,9 +405,160 @@
/errors/rma/win_sync_unlock
/errors/rma/winerr
/errors/rma/winerr2
+/errors/spawn/badport
/errors/spawn/lookup_name
+/errors/spawn/testlist
/errors/spawn/unpub
+/errors/testlist
+/errors/topo/cartsmall
+/f08/attr/attrlangf08
+/f08/attr/attrmpi1f08
+/f08/attr/baseattr2f08
+/f08/attr/baseattr3f08
+/f08/attr/baseattrf08
+/f08/attr/commattr2f08
+/f08/attr/commattr3f08
+/f08/attr/commattrf08
+/f08/attr/fandcattrf08
+/f08/attr/typeattr2f08
+/f08/attr/typeattr3f08
+/f08/attr/typeattrf08
+/f08/coll/allredint8f08
+/f08/coll/allredopttf08
+/f08/coll/alltoallvf08
+/f08/coll/alltoallwf08
+/f08/coll/exscanf08
+/f08/coll/inplacef08
+/f08/coll/nonblocking_inpf08
+/f08/coll/nonblockingf08
+/f08/coll/red_scat_blockf08
+/f08/coll/redscatf08
+/f08/coll/reducelocalf08
+/f08/coll/split_typef08
+/f08/coll/uallreducef08
+/f08/coll/vw_inplacef08
+/f08/comm/commerrf08
+/f08/comm/commnamef08
+/f08/datatype/allctypesf08
+/f08/datatype/createf08
+/f08/datatype/gaddressf08
+/f08/datatype/get_elem_d
+/f08/datatype/get_elem_u
+/f08/datatype/hindex1f08
+/f08/datatype/hindexed_blockf08
+/f08/datatype/indtype
+/f08/datatype/kinds
+/f08/datatype/packef08
+/f08/datatype/sizeof
+/f08/datatype/structf
+/f08/datatype/trf08
+/f08/datatype/typecntsf08
+/f08/datatype/typem2f08
+/f08/datatype/typename3f08
+/f08/datatype/typenamef08
+/f08/datatype/typesnamef08
+/f08/datatype/typesubf08
+/f08/ext/c2f2cf90
+/f08/ext/c2f902c.c
+/f08/ext/c2f90mult
+/f08/ext/ctypesfromc.c
+/f08/ext/ctypesinf90
+/f08/hello_usempif08
+/f08/info/infotest2f90
+/f08/info/infotestf90
+/f08/init/baseenvf90
+/f08/io/atomicityf90
+/f08/io/c2f2ciof90
+/f08/io/c2f90multio
+/f08/io/fileerrf90
+/f08/io/fileinfof90
+/f08/io/i_fcoll_test
+/f08/io/iwriteatallf90
+/f08/io/iwriteatallf90.f90
+/f08/io/iwriteatf90
+/f08/io/iwriteatf90.f90
+/f08/io/iwritef90
+/f08/io/iwritef90.f90
+/f08/io/iwriteshf90
+/f08/io/iwriteshf90.f90
+/f08/io/miscfilef90
+/f08/io/setviewcurf90
+/f08/io/shpositionf90
+/f08/io/testlist
+/f08/io/writeallbef90
+/f08/io/writeallbef90.f90
+/f08/io/writeallf90
+/f08/io/writeallf90.f90
+/f08/io/writeatallbef90
+/f08/io/writeatallbef90.f90
+/f08/io/writeatallf90
+/f08/io/writeatallf90.f90
+/f08/io/writeatf90
+/f08/io/writeatf90.f90
+/f08/io/writef90
+/f08/io/writef90.f90
+/f08/io/writeordbef90
+/f08/io/writeordbef90.f90
+/f08/io/writeordf90
+/f08/io/writeordf90.f90
+/f08/io/writeshf90
+/f08/io/writeshf90.f90
+/f08/misc/hello
+/f08/misc/ring
+/f08/misc/sizeof2
+/f08/profile/profile1f90
+/f08/pt2pt/allpairf08
+/f08/pt2pt/dummyf08
+/f08/pt2pt/greqf08
+/f08/pt2pt/mprobef08
+/f08/pt2pt/statusesf08
+/f08/ring_usempif08
+/f08/rma/aintf08
+/f08/rma/baseattrwinf08
+/f08/rma/c2f2cwinf08
+/f08/rma/testlist
+/f08/rma/winaccf08
+/f08/rma/winattr2f08
+/f08/rma/winattrf08
+/f08/rma/winerrf08
+/f08/rma/winfencef08
+/f08/rma/wingetf08
+/f08/rma/wingroupf08
+/f08/rma/winnamef08
+/f08/rma/winscale1f08
+/f08/rma/winscale2f08
+/f08/spawn/connaccf90
+/f08/spawn/namepubf90
+/f08/spawn/spawnargvf03
+/f08/spawn/spawnargvf90
+/f08/spawn/spawnf90
+/f08/spawn/spawnmult2f90
+/f08/spawn/spawnmultf03
+/f08/spawn/spawnmultf90
+/f08/spawn/testlist
+/f08/subarray/test1
+/f08/subarray/test10
+/f08/subarray/test11
+/f08/subarray/test12
+/f08/subarray/test13
+/f08/subarray/test14
+/f08/subarray/test15
+/f08/subarray/test2
+/f08/subarray/test3
+/f08/subarray/test4
+/f08/subarray/test5
+/f08/subarray/test6
+/f08/subarray/test7
+/f08/subarray/test8
+/f08/subarray/test9
+/f08/timer/wtimef90
+/f08/topo/cart_subf90
+/f08/topo/cartcrf90
+/f08/topo/dgraph_unwgtf90
+/f08/topo/dgraph_wgtf90
+/f77/attr/attraints.h
/f77/attr/attrmpi1f
+/f77/attr/baseattr
/f77/attr/baseattr2f
/f77/attr/baseattrf
/f77/attr/commattr2f
@@ -907,40 +585,77 @@
/f77/comm/commerrf
/f77/comm/commnamef
/f77/datatype/allctypesf
+/f77/datatype/bottom
/f77/datatype/gaddressf
/f77/datatype/hindex1f
/f77/datatype/hindexed_blockf
/f77/datatype/packef
+/f77/datatype/typeaints.h
/f77/datatype/typecntsf
/f77/datatype/typem2f
/f77/datatype/typename3f
/f77/datatype/typenamef
/f77/datatype/typesnamef
/f77/datatype/typesubf
-/f77/datatype/bottom
+/f77/ext/add1size.h
+/f77/ext/c2f2cf
/f77/ext/c2fmult
/f77/ext/ctypesinf
+/f77/ext/testlist
+/f77/info/infotest
/f77/info/infotest2f
/f77/info/infotestf
/f77/init/baseenvf
+/f77/init/checksizes.c
/f77/io/atomicityf
/f77/io/c2f2ciof
/f77/io/c2fmultio
/f77/io/fileerrf
/f77/io/fileinfof
+/f77/io/i_setviewcurf
+/f77/io/ioaint.h
+/f77/io/iodisp.h
+/f77/io/iooffset.h
+/f77/io/iwriteatallf
+/f77/io/iwriteatallf.f
+/f77/io/iwriteatf
+/f77/io/iwriteatf.f
+/f77/io/iwritef
+/f77/io/iwritef.f
/f77/io/iwriteshf
+/f77/io/iwriteshf.f
/f77/io/miscfilef
/f77/io/setviewcurf
/f77/io/shpositionf
-/f77/io/writeatallf
-/f77/io/iwriteatallf
/f77/io/testlist
+/f77/io/writeallbef
+/f77/io/writeallbef.f
+/f77/io/writeallf
+/f77/io/writeallf.f
+/f77/io/writeatall
+/f77/io/writeatallbef
+/f77/io/writeatallbef.f
+/f77/io/writeatallf
+/f77/io/writeatallf.f
+/f77/io/writeatf
+/f77/io/writeatf.f
+/f77/io/writef
+/f77/io/writef.f
+/f77/io/writeordbef
+/f77/io/writeordbef.f
+/f77/io/writeordf
+/f77/io/writeordf.f
+/f77/io/writeshf
+/f77/io/writeshf.f
/f77/pt2pt/allpairf
+/f77/pt2pt/attr1aints.h
/f77/pt2pt/greqf
/f77/pt2pt/mprobef
/f77/pt2pt/statusesf
+/f77/rma/addsize.h
/f77/rma/baseattrwinf
/f77/rma/c2f2cwinf
+/f77/rma/testlist
/f77/rma/winaccf
/f77/rma/winattr2f
/f77/rma/winattrf
@@ -951,93 +666,299 @@
/f77/rma/winnamef
/f77/rma/winscale1f
/f77/rma/winscale2f
+/f77/spawn/connaccf
+/f77/spawn/namepubf
+/f77/spawn/spawnargvf
+/f77/spawn/spawnf
+/f77/spawn/spawnmult2f
+/f77/spawn/spawnmultf
+/f77/spawn/testlist
+/f77/spawn/type1aint.h
+/f77/testlist
/f77/topo/cartcrf
/f77/topo/dgraph_unwgtf
/f77/topo/dgraph_wgtf
+/f90/attr/Makefile.am
+/f90/attr/Makefile.sm
/f90/attr/attrlangf90
/f90/attr/attrmpi1f90
+/f90/attr/attrmpi1f90.f90
/f90/attr/baseattr2f90
+/f90/attr/baseattr2f90.f90
/f90/attr/baseattr3f90
/f90/attr/baseattrf90
+/f90/attr/baseattrf90.f90
+/f90/attr/baseattrwinf90.f90
/f90/attr/commattr2f90
+/f90/attr/commattr2f90.f90
/f90/attr/commattr3f90
+/f90/attr/commattr3f90.f90
/f90/attr/commattr4f90
+/f90/attr/commattr4f90.f90
/f90/attr/commattrf90
+/f90/attr/commattrf90.f90
/f90/attr/fandcattrf90
+/f90/attr/testlist
/f90/attr/typeattr2f90
+/f90/attr/typeattr2f90.f90
/f90/attr/typeattr3f90
+/f90/attr/typeattr3f90.f90
/f90/attr/typeattrf90
+/f90/attr/typeattrf90.f90
+/f90/attr/winattr2f90.f90
+/f90/attr/winattrf90.f90
+/f90/coll/
+/f90/coll/Makefile.sm
+/f90/coll/allredint8f90.f90
+/f90/coll/allredopttf90.f90
+/f90/coll/alltoallwf90.f90
+/f90/coll/exscanf90.f90
+/f90/coll/inplacef90.f90
+/f90/coll/testlist
+/f90/coll/uallreducef90.f90
+/f90/comm/
+/f90/comm/Makefile.sm
+/f90/comm/commerrf90.f90
+/f90/comm/commnamef90.f90
+/f90/comm/testlist
+/f90/datatype/Makefile.am
+/f90/datatype/Makefile.sm
/f90/datatype/allctypesf90
+/f90/datatype/allctypesf90.f90
+/f90/datatype/bottomc.c
+/f90/datatype/bottomf90.f90
/f90/datatype/createf90
/f90/datatype/gaddressf90
+/f90/datatype/gaddressf90.f90
/f90/datatype/get_elem_d
/f90/datatype/get_elem_u
/f90/datatype/hindex1f90
+/f90/datatype/hindex1f90.f90
/f90/datatype/hindexed_blockf90
+/f90/datatype/hindexed_blockf90.f90
+/f90/datatype/indtype
/f90/datatype/kinds
/f90/datatype/packef90
+/f90/datatype/packef90.f90
/f90/datatype/sizeof
/f90/datatype/structf
+/f90/datatype/testlist
/f90/datatype/trf90
/f90/datatype/typecntsf90
+/f90/datatype/typecntsf90.f90
/f90/datatype/typem2f90
+/f90/datatype/typem2f90.f90
/f90/datatype/typename3f90
+/f90/datatype/typename3f90.f90
/f90/datatype/typenamef90
+/f90/datatype/typenamef90.f90
/f90/datatype/typesnamef90
+/f90/datatype/typesnamef90.f90
/f90/datatype/typesubf90
+/f90/datatype/typesubf90.f90
+/f90/ext/Makefile.am
+/f90/ext/Makefile.sm
+/f90/ext/allocmem90.f90
+/f90/ext/allocmemf290.f90
+/f90/ext/allocmemf90.f90
/f90/ext/c2f2cf90
+/f90/ext/c2f2cf90.f90
+/f90/ext/c2f902c.c
/f90/ext/c2f90mult
+/f90/ext/c2f90mult.c
+/f90/ext/ctypesf90romc.c
+/f90/ext/ctypesfromc.c
/f90/ext/ctypesinf90
+/f90/ext/ctypesinf90.f90
+/f90/ext/stamp-Makefile.am
+/f90/ext/testlist
+/f90/ext/testlist.in
/f90/f90types/createf90types
+/f90/info/
+/f90/info/Makefile.sm
+/f90/info/infotest
+/f90/info/infotest2f90.f90
+/f90/info/infotestf90.f90
+/f90/info/testlist
+/f90/init/
+/f90/init/Makefile.sm
+/f90/init/baseenvf90.f90
+/f90/init/testlist
+/f90/io/Makefile.am
+/f90/io/Makefile.sm
/f90/io/atomicityf90
+/f90/io/atomicityf90.f90
/f90/io/c2f2ciof90
+/f90/io/c2f2ciof90.f90
+/f90/io/c2f902cio.c
/f90/io/c2f90multio
+/f90/io/c2f90multio.c
/f90/io/fileerrf90
+/f90/io/fileerrf90.f90
/f90/io/fileinfof90
+/f90/io/fileinfof90.f90
+/f90/io/i_setviewcurf90.f90
+/f90/io/ioharness.defn
+/f90/io/ioharness.tlt
+/f90/io/iwriteatallf90
+/f90/io/iwriteatallf90.f90
/f90/io/iwriteatf90
+/f90/io/iwriteatf90.f90
/f90/io/iwritef90
+/f90/io/iwritef90.f90
/f90/io/iwriteshf90
+/f90/io/iwriteshf90.f90
/f90/io/miscfilef90
+/f90/io/miscfilef90.f90
/f90/io/setviewcurf90
+/f90/io/setviewcurf90.f90
/f90/io/shpositionf90
+/f90/io/shpositionf90.f90
+/f90/io/testlist
+/f90/io/testlist.in
/f90/io/writeallbef90
+/f90/io/writeallbef90.f90
/f90/io/writeallf90
+/f90/io/writeallf90.f90
/f90/io/writeatallbef90
+/f90/io/writeatallbef90.f90
/f90/io/writeatallf90
-/f90/io/iwriteatallf90
+/f90/io/writeatallf90.f90
/f90/io/writeatf90
+/f90/io/writeatf90.f90
/f90/io/writef90
+/f90/io/writef90.f90
/f90/io/writeordbef90
+/f90/io/writeordbef90.f90
/f90/io/writeordf90
+/f90/io/writeordf90.f90
/f90/io/writeshf90
+/f90/io/writeshf90.f90
+/f90/misc/f77tof90
+/f90/misc/sizeof
/f90/misc/sizeof2
+/f90/profile
+/f90/pt2pt/
+/f90/pt2pt/Makefile.sm
+/f90/pt2pt/greqf90
+/f90/pt2pt/greqf90.f90
+/f90/pt2pt/statusesf90
+/f90/pt2pt/statusesf90.f90
+/f90/pt2pt/testlist
+/f90/rma/Makefile.am
+/f90/rma/Makefile.sm
+/f90/rma/aintf90.f90
/f90/rma/baseattrwinf90
/f90/rma/c2f2cwinf90
+/f90/rma/c2f2cwinf90.f90
+/f90/rma/c2f902cwin.c
+/f90/rma/testlist
+/f90/rma/testlist.in
+/f90/rma/winaccf90
+/f90/rma/winaccf90.f90
/f90/rma/winattr2f90
/f90/rma/winattrf90
+/f90/rma/winerrf90
+/f90/rma/winerrf90.f90
+/f90/rma/winfencef90
+/f90/rma/winfencef90.f90
+/f90/rma/wingetf90
+/f90/rma/wingetf90.f90
+/f90/rma/wingroupf90
+/f90/rma/wingroupf90.f90
+/f90/rma/winnamef90
+/f90/rma/winnamef90.f90
+/f90/rma/winscale1f90
+/f90/rma/winscale1f90.f90
+/f90/rma/winscale2f90
+/f90/rma/winscale2f90.f90
+/f90/spawn/
+/f90/spawn/Makefile.sm
+/f90/spawn/connaccf90
+/f90/spawn/connaccf90.f90
+/f90/spawn/namepubf90
+/f90/spawn/namepubf90.f90
+/f90/spawn/spawnargvf90
+/f90/spawn/spawnargvf90.f90
+/f90/spawn/spawnf90
+/f90/spawn/spawnf90.f90
+/f90/spawn/spawnmult2f90
+/f90/spawn/spawnmult2f90.f90
+/f90/spawn/spawnmultf90
+/f90/spawn/spawnmultf90.f90
+/f90/spawn/testlist
+/f90/testlist
+/f90/timer/testlist
+/f90/timer/wtimef90
+/f90/topo/
+/f90/topo/Makefile.sm
+/f90/topo/cartcrf90.f90
+/f90/topo/testlist
+/f90/util
+/group/errstring
+/group/glpid
+/group/groupcreate
+/group/groupnullincl
+/group/grouptest
+/group/grouptest2
+/group/gtranks
/group/gtranksperf
+/impls/hydra/dummy
+/impls/hydra/proc_binding.sh
+/impls/mpich/testlist
+/impls/testlist
+/info/infodel
+/info/infodup
/info/infoenv
/info/infomany
/info/infomany2
+/info/infoorder
/info/infotest
+/info/infovallen
/init/attrself
+/init/exitst1
+/init/exitst2
/init/exitst3
/init/finalized
+/init/initstat
/init/library_version
+/init/timeout
+/init/version
+/io/async
+/io/async_any
+/io/external32-derived-dtype
+/io/getextent
+/io/i_noncontig
+/io/i_setviewcur
+/io/rdwrord
+/io/rdwrzero
/io/resized
+/io/setinfo
+/io/setviewcur
+/io/test.ord
+/io/testfile*
/io/testlist
+/io/userioerr
+/maint/conftimestamp
+/maint/f77tof90
+/maint/testmerge
+/manual/dimsbalanced
+/manual/manyconnect
/manual/mpi_t/mpit_test
/manual/mpi_t/mpit_test2
/manual/mpi_t/nem_fbox_fallback_to_queue_count
/manual/mpi_t/unexpected_recvq_buffer_size
/manual/segfault
+/manual/singjoin
/manual/spawntest_child
/manual/spawntest_master
+/manual/test-port
+/manual/testconnect
/manual/testconnectserial
-/mpi_t/mpi_t_str
-/mpi_t/mpit_vars
/mpi_t/cvarwrite
/mpi_t/getindex
+/mpi_t/mpi_t_str
+/mpi_t/mpit_vars
/perf/allredtrace
/perf/commcreatep
/perf/dtpack
@@ -1046,15 +967,31 @@
/perf/nestvec
/perf/nestvec2
/perf/non_zero_root
+/perf/sendrecvl
/perf/timer
+/perf/transp-datatype
+/perf/twovec
/pt2pt/anyall
/pt2pt/bottom
+/pt2pt/bsend1
+/pt2pt/bsend2
+/pt2pt/bsend3
+/pt2pt/bsend4
/pt2pt/bsend5
/pt2pt/bsendalign
+/pt2pt/bsendfrag
/pt2pt/bsendpending
+/pt2pt/cancelrecv
+/pt2pt/dup
/pt2pt/eagerdt
+/pt2pt/errinstatta
+/pt2pt/errinstatts
+/pt2pt/errinstatwa
+/pt2pt/errinstatws
/pt2pt/greq1
/pt2pt/icsend
+/pt2pt/inactivereq
+/pt2pt/isendself
/pt2pt/isendselfprobe
/pt2pt/large_message
/pt2pt/manylmt
@@ -1077,9 +1014,13 @@
/pt2pt/sendself
/pt2pt/waitany-null
/pt2pt/waittestnull
+/results.txt
+/rma/accfence1
+/rma/accfence2
/rma/accfence2_am
/rma/accpscw1
/rma/adlb_mimic1
+/rma/allocmem
/rma/attrorderwin
/rma/baseattrwin
/rma/compare_and_swap
@@ -1093,7 +1034,9 @@
/rma/fetch_and_op_long
/rma/fetch_and_op_long_double
/rma/fetch_and_op_short
+/rma/fetchandadd
/rma/fetchandadd_am
+/rma/fetchandadd_tree
/rma/fetchandadd_tree_am
/rma/fkeyvalwin
/rma/flush
@@ -1106,6 +1049,9 @@
/rma/get_accumulate_long_derived
/rma/get_accumulate_short
/rma/get_accumulate_short_derived
+/rma/getfence1
+/rma/getgroup
+/rma/ircpi
/rma/linked_list
/rma/linked_list_bench_lock_all
/rma/linked_list_bench_lock_excl
@@ -1113,11 +1059,21 @@
/rma/linked_list_bench_lock_shr_nocheck
/rma/linked_list_fop
/rma/linked_list_lockall
+/rma/lock_contention_dt
+/rma/lock_dt
+/rma/lock_dt_flush
+/rma/lock_dt_flushlocal
+/rma/lockall_dt
+/rma/lockall_dt_flush
+/rma/lockall_dt_flushall
+/rma/lockall_dt_flushlocal
+/rma/lockall_dt_flushlocalall
/rma/lockcontention
/rma/lockcontention2
/rma/lockcontention3
/rma/locknull
/rma/lockopts
+/rma/manyget
/rma/manyrma2
/rma/mixedsync
/rma/mutex_bench
@@ -1126,7 +1082,9 @@
/rma/pscw_ordering
/rma/put_base
/rma/put_bottom
+/rma/putfence1
/rma/putfidx
+/rma/putpscw1
/rma/req_example
/rma/reqops
/rma/rget-unlock
@@ -1141,12 +1099,25 @@
/rma/strided_getacc_indexed_shared
/rma/strided_putget_indexed
/rma/strided_putget_indexed_shared
+/rma/test1
/rma/test1_am
/rma/test1_dt
+/rma/test2
/rma/test2_am
+/rma/test3
/rma/test3_am
+/rma/test4
/rma/test4_am
+/rma/test5
/rma/test5_am
+/rma/testlist
+/rma/transpose1
+/rma/transpose2
+/rma/transpose3
+/rma/transpose4
+/rma/transpose5
+/rma/transpose6
+/rma/transpose7
/rma/win_dynamic_acc
/rma/win_flavors
/rma/win_info
@@ -1155,22 +1126,29 @@
/rma/win_shared_noncontig_put
/rma/wincall
/rma/window_creation
-/spawn/testlist
+/rma/winname
+/rma/wintest
+/runtests
/spawn/concurrent_spawns
/spawn/disconnect
/spawn/disconnect2
+/spawn/disconnect3
/spawn/disconnect_reconnect
/spawn/disconnect_reconnect2
/spawn/disconnect_reconnect3
/spawn/join
/spawn/multiple_ports
/spawn/multiple_ports2
+/spawn/namepub
/spawn/pgroup_connect_test
/spawn/pgroup_intercomm_test
/spawn/selfconacc
/spawn/spaconacc
/spawn/spaconacc2
+/spawn/spaiccreate
/spawn/spaiccreate2
+/spawn/spawn1
+/spawn/spawn2
/spawn/spawnargv
/spawn/spawninfo1
/spawn/spawnintra
@@ -1178,6 +1156,14 @@
/spawn/spawnminfo1
/spawn/spawnmult2
/spawn/taskmaster
+/spawn/testlist
+/test.ncb
+/test.sln
+/test.suo
+/testlist
+/threads/coll/allred
+/threads/coll/iallred
+/threads/coll/testlist
/threads/comm/comm_create_group_threads
/threads/comm/comm_create_threads
/threads/comm/comm_dup_deadlock
@@ -1188,22 +1174,36 @@
/threads/comm/idup_nb
/threads/comm/testlist
/threads/init/initth
+/threads/mpi_t/mpit_threading
+/threads/pt2pt/alltoall
+/threads/pt2pt/greq_test
+/threads/pt2pt/greq_wait
+/threads/pt2pt/multisend
+/threads/pt2pt/multisend2
+/threads/pt2pt/multisend3
+/threads/pt2pt/multisend4
+/threads/pt2pt/sendselfth
+/threads/pt2pt/threaded_sr
/threads/pt2pt/threads
+/threads/spawn/alltoall
/threads/spawn/multispawn
+/threads/spawn/sendselfth
/threads/spawn/th_taskmaster
-/threads/coll/iallred
-/threads/coll/allred
-/threads/coll/testlist
+/threads/spawn/threaded_sr
+/threads/testlist
/topo/cartcreates
+/topo/cartmap1
+/topo/cartshift1
+/topo/cartsuball
/topo/cartzero
/topo/dgraph_unwgt
+/topo/dims1
/topo/dims2
/topo/dims5
/topo/distgraph1
/topo/graphcr
/topo/graphcr2
+/topo/graphmap1
/topo/neighb_coll
-/impls/hydra/dummy
-/impls/hydra/proc_binding.sh
-/impls/mpich/testlist
-/impls/testlist
+/topo/topodup
+/topo/topotest
http://git.mpich.org/mpich.git/commitdiff/a65f6f65bf597adbeee29e4322ce4f177…
commit a65f6f65bf597adbeee29e4322ce4f1773bdaf26
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Wed Sep 21 13:47:09 2016 +0100
Bug-fix: Correctly reference count datatypes
When an isend/issend/irsend returns without completion for derived
datatypes, we need to increment the datatype ref count
unconditionally. We were checking to see if OnDataAvail was set
before doing that, which is incorrect.
The ref-count increase should only be for derived datatypes, and not
for builtin datatypes (we treat non-builtin predefined datatypes the
same way as derived datatypes). The original check for issend was
incorrect in this respect. This patch fixes that part too.
Fixes #2353.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/src/mpid/ch3/src/mpid_irsend.c b/src/mpid/ch3/src/mpid_irsend.c
index 58071b1..6434621 100644
--- a/src/mpid/ch3/src/mpid_irsend.c
+++ b/src/mpid/ch3/src/mpid_irsend.c
@@ -125,7 +125,7 @@ int MPID_Irsend(const void * buf, int count, MPI_Datatype datatype, int rank, in
data_sz, rank, tag,
comm, context_offset );
/* If we're not complete, then add a reference to the datatype */
- if (sreq && sreq->dev.OnDataAvail) {
+ if (sreq) {
sreq->dev.datatype_ptr = dt_ptr;
MPIDU_Datatype_add_ref(dt_ptr);
}
diff --git a/src/mpid/ch3/src/mpid_isend.c b/src/mpid/ch3/src/mpid_isend.c
index 34d5e03..c5aaeb0 100644
--- a/src/mpid/ch3/src/mpid_isend.c
+++ b/src/mpid/ch3/src/mpid_isend.c
@@ -149,7 +149,7 @@ int MPID_Isend(const void * buf, MPI_Aint count, MPI_Datatype datatype, int rank
data_sz, rank, tag,
comm, context_offset );
/* If we're not complete, then add a reference to the datatype */
- if (sreq && sreq->dev.OnDataAvail) {
+ if (sreq) {
sreq->dev.datatype_ptr = dt_ptr;
MPIDU_Datatype_add_ref(dt_ptr);
}
diff --git a/src/mpid/ch3/src/mpid_issend.c b/src/mpid/ch3/src/mpid_issend.c
index f8ea6f8..1c6da7c 100644
--- a/src/mpid/ch3/src/mpid_issend.c
+++ b/src/mpid/ch3/src/mpid_issend.c
@@ -92,8 +92,9 @@ int MPID_Issend(const void * buf, int count, MPI_Datatype datatype, int rank, in
dt_contig, dt_true_lb,
rank, tag, comm,
context_offset );
- /* If we're not complete, then add a reference to the datatype */
- if (sreq && sreq->dev.OnDataAvail) {
+ /* If we're not complete and this is a derived datatype
+ * communication, then add a reference to the datatype */
+ if (sreq && (HANDLE_GET_KIND(datatype) != HANDLE_KIND_BUILTIN)) {
sreq->dev.datatype_ptr = dt_ptr;
MPIDU_Datatype_add_ref(dt_ptr);
}
http://git.mpich.org/mpich.git/commitdiff/6c43258737569970dc0e971009aa813a7…
commit 6c43258737569970dc0e971009aa813a7ccd1930
Author: Pavan Balaji <balaji(a)anl.gov>
Date: Wed Sep 21 13:46:33 2016 +0100
testsuite: added a test to show failures with many isends.
Reported by ALCF as a part of the Theta acceptance testing.
Signed-off-by: Ken Raffenetti <raffenet(a)mcs.anl.gov>
diff --git a/test/mpi/pt2pt/Makefile.am b/test/mpi/pt2pt/Makefile.am
index 9b047b4..9deae41 100644
--- a/test/mpi/pt2pt/Makefile.am
+++ b/test/mpi/pt2pt/Makefile.am
@@ -55,4 +55,5 @@ noinst_PROGRAMS = \
mprobe \
big_count_status \
many_isend \
- manylmt
+ manylmt \
+ dtype_send
diff --git a/test/mpi/pt2pt/dtype_send.c b/test/mpi/pt2pt/dtype_send.c
new file mode 100644
index 0000000..a089bd6
--- /dev/null
+++ b/test/mpi/pt2pt/dtype_send.c
@@ -0,0 +1,101 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
+/*
+ * (C) 2016 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <mpi.h>
+
+#define NUM_LOOPS (128)
+
+int main(int argc, char **argv)
+{
+ int i, rank, size;
+ MPI_Request *req;
+ MPI_Datatype newtype;
+ int snd_buf[3], rcv_buf[3];
+ int count = 2;
+ int *displs;
+
+ MPI_Init(&argc, &argv);
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+ MPI_Comm_size(MPI_COMM_WORLD, &size);
+
+ if (size < 2) {
+ fprintf(stderr, "Must run with at least 2 processes\n");
+ MPI_Abort(MPI_COMM_WORLD, 1);
+ }
+
+ displs = (int *) malloc(count * sizeof(int));
+ for (i = 0; i < count; i++)
+ displs[i] = i * 2;
+
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ /* test isends */
+ MPI_Type_create_indexed_block(count, 1, displs, MPI_INT, &newtype);
+ MPI_Type_commit(&newtype);
+
+ if (rank == 0) {
+ req = (MPI_Request *) malloc(NUM_LOOPS * sizeof(MPI_Request));
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Isend(snd_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, &req[i]);
+ }
+ else {
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Recv(rcv_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+ }
+ MPI_Type_free(&newtype);
+ if (rank == 0)
+ MPI_Waitall(NUM_LOOPS, req, MPI_STATUSES_IGNORE);
+
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ /* test issends */
+ MPI_Type_create_indexed_block(count, 1, displs, MPI_INT, &newtype);
+ MPI_Type_commit(&newtype);
+
+ if (rank == 0) {
+ req = (MPI_Request *) malloc(NUM_LOOPS * sizeof(MPI_Request));
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Issend(snd_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, &req[i]);
+ }
+ else {
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Recv(rcv_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+ }
+ MPI_Type_free(&newtype);
+ if (rank == 0)
+ MPI_Waitall(NUM_LOOPS, req, MPI_STATUSES_IGNORE);
+
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ /* test irsends */
+ MPI_Type_create_indexed_block(count, 1, displs, MPI_INT, &newtype);
+ MPI_Type_commit(&newtype);
+
+ req = (MPI_Request *) malloc(NUM_LOOPS * sizeof(MPI_Request));
+ if (rank == 0) {
+ MPI_Barrier(MPI_COMM_WORLD);
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Irsend(snd_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, &req[i]);
+ }
+ else {
+ for (i = 0; i < NUM_LOOPS; i++)
+ MPI_Irecv(rcv_buf, 1, newtype, !rank, 0, MPI_COMM_WORLD, &req[i]);
+ MPI_Barrier(MPI_COMM_WORLD);
+ }
+ MPI_Type_free(&newtype);
+ MPI_Waitall(NUM_LOOPS, req, MPI_STATUSES_IGNORE);
+
+ MPI_Barrier(MPI_COMM_WORLD);
+
+ MPI_Finalize();
+
+ if (rank == 0)
+ printf(" No Errors\n");
+
+ return 0;
+}
diff --git a/test/mpi/pt2pt/testlist b/test/mpi/pt2pt/testlist
index 5ec88bf..25c7cf4 100644
--- a/test/mpi/pt2pt/testlist
+++ b/test/mpi/pt2pt/testlist
@@ -44,3 +44,4 @@ mprobe 2 mpiversion=3.0
big_count_status 1 mpiversion=3.0
many_isend 3
manylmt 2
+dtype_send 2
-----------------------------------------------------------------------
Summary of changes:
src/mpid/ch3/src/mpid_irsend.c | 2 +-
src/mpid/ch3/src/mpid_isend.c | 2 +-
src/mpid/ch3/src/mpid_issend.c | 5 +-
test/mpi/.gitignore | 1341 ++++++++++++++++++++--------------------
test/mpi/pt2pt/Makefile.am | 3 +-
test/mpi/pt2pt/dtype_send.c | 101 +++
test/mpi/pt2pt/testlist | 1 +
7 files changed, 780 insertions(+), 675 deletions(-)
create mode 100644 test/mpi/pt2pt/dtype_send.c
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-452-gabcca8b
by noreply@mpich.org 21 Sep '16
by noreply@mpich.org 21 Sep '16
21 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 abcca8b44575e0148cd23217f9d1cfe7fc6d4a71 (commit)
from b089caa16337ec403d23f3f00b8bc10321b388d2 (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/abcca8b44575e0148cd23217f9d1cfe7f…
commit abcca8b44575e0148cd23217f9d1cfe7fc6d4a71
Author: Ken Raffenetti <raffenet(a)mcs.anl.gov>
Date: Mon Sep 19 18:11:42 2016 -0500
mpir_mem.h: Remove NULL address checks
Strict builds will see a lot of warnings when MPIR_Memcpy is used and
one or more of the addresses provided are on the stack. Additionally,
-Wnonnull should already catch these types of errors.
Signed-off-by: Pavan Balaji <balaji(a)anl.gov>
diff --git a/src/include/mpir_mem.h b/src/include/mpir_mem.h
index 44c4d6a..8fb8368 100644
--- a/src/include/mpir_mem.h
+++ b/src/include/mpir_mem.h
@@ -243,8 +243,6 @@ if (pointer_) { \
#define CHECK_MEMCPY(dst_,src_,len_) \
do { \
if (len_) { \
- MPIR_Assert((dst_) != NULL); \
- MPIR_Assert((src_) != NULL); \
MPL_VG_CHECK_MEM_IS_ADDRESSABLE((dst_),(len_)); \
MPL_VG_CHECK_MEM_IS_ADDRESSABLE((src_),(len_)); \
if (MPIR_MEM_RANGES_OVERLAP((dst_),(len_),(src_),(len_))) { \
-----------------------------------------------------------------------
Summary of changes:
src/include/mpir_mem.h | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, master, updated. v3.2-451-gb089caa
by noreply@mpich.org 19 Sep '16
by noreply@mpich.org 19 Sep '16
19 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 b089caa16337ec403d23f3f00b8bc10321b388d2 (commit)
via 266f46f53d6a13c4763565f1062ae45514fd3990 (commit)
from aeb915d93e8f55c83b9a426e538bebc32ff6b682 (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/b089caa16337ec403d23f3f00b8bc1032…
commit b089caa16337ec403d23f3f00b8bc10321b388d2
Author: Min Si <msi(a)il.is.s.u-tokyo.ac.jp>
Date: Fri Feb 19 16:17:10 2016 +0900
Increase many_isend msg size thus only need 3 procs.
Signed-off-by: Pavan Balaji <balaji(a)anl.gov>
diff --git a/test/mpi/pt2pt/many_isend.c b/test/mpi/pt2pt/many_isend.c
index 5f6ec1e..56b151f 100644
--- a/test/mpi/pt2pt/many_isend.c
+++ b/test/mpi/pt2pt/many_isend.c
@@ -9,7 +9,7 @@
#include <mpi.h>
#define ITER 5
-#define BUF_COUNT 4096
+#define BUF_COUNT (16*1024)
int rank, nprocs;
char recvbuf[BUF_COUNT], sendbuf[BUF_COUNT];
diff --git a/test/mpi/pt2pt/testlist b/test/mpi/pt2pt/testlist
index 629f03e..5ec88bf 100644
--- a/test/mpi/pt2pt/testlist
+++ b/test/mpi/pt2pt/testlist
@@ -42,5 +42,5 @@ waitany-null 1
large_message 3
mprobe 2 mpiversion=3.0
big_count_status 1 mpiversion=3.0
-many_isend 128
+many_isend 3
manylmt 2
http://git.mpich.org/mpich.git/commitdiff/266f46f53d6a13c4763565f1062ae4551…
commit 266f46f53d6a13c4763565f1062ae45514fd3990
Author: Min Si <msi(a)il.is.s.u-tokyo.ac.jp>
Date: Sat Jan 30 01:49:51 2016 +0900
Remove many-isend test's xfail.
This test only fails on specific netmod, thus should not be xfail in
default setting.
Signed-off-by: Pavan Balaji <balaji(a)anl.gov>
diff --git a/test/mpi/pt2pt/testlist b/test/mpi/pt2pt/testlist
index 5613224..629f03e 100644
--- a/test/mpi/pt2pt/testlist
+++ b/test/mpi/pt2pt/testlist
@@ -42,5 +42,5 @@ waitany-null 1
large_message 3
mprobe 2 mpiversion=3.0
big_count_status 1 mpiversion=3.0
-many_isend 128 xfail=ticket2312
+many_isend 128
manylmt 2
-----------------------------------------------------------------------
Summary of changes:
test/mpi/pt2pt/many_isend.c | 2 +-
test/mpi/pt2pt/testlist | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
MPICH primary repository
1
0
[mpich] MPICH primary repository branch, mpich-dev/mytests, deleted. v3.2-448-g3579e4c
by noreply@mpich.org 16 Sep '16
by noreply@mpich.org 16 Sep '16
16 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 deleted
was 3579e4c003ca80093dcfebac334045ffecffe218
-----------------------------------------------------------------------
3579e4c003ca80093dcfebac334045ffecffe218 Added win_alloc version for all tests under error/rma.
-----------------------------------------------------------------------
hooks/post-receive
--
MPICH primary repository
1
0
[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