[mpich2-commits] r7919 - mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad
mercierg at mcs.anl.gov
mercierg at mcs.anl.gov
Tue Feb 8 10:26:27 CST 2011
Author: mercierg
Date: 2011-02-08 10:26:26 -0600 (Tue, 08 Feb 2011)
New Revision: 7919
Modified:
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_impl.h
mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_probe.c
Log:
Fix for probe with any_source
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_impl.h
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_impl.h 2011-02-05 01:19:00 UTC (rev 7918)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_impl.h 2011-02-08 16:26:26 UTC (rev 7919)
@@ -151,12 +151,12 @@
((_match) |= (((nm_tag_t)((_tag)&(NEM_NMAD_MAX_TAG))) << SHIFT_TAG)); \
}while(0)
#define NEM_NMAD_SET_SRC(_match, _src) do { \
- MPIU_Assert(_src >= 0)&&(_src<=(NEM_NMAD_MAX_RANK))); \
+ MPIU_Assert((_src >= 0)&&(_src<=(NEM_NMAD_MAX_RANK)));\
((_match) |= (((nm_tag_t)(_src)) << SHIFT_RANK)); \
}while(0)
-#define NEM_NMAD_SET_CTXT(_match, _ctxt) do { \
- MPIU_Assert(_ctxt >= 0)&&(_ctxt<=(NEM_NMAD_MAX_CTXT)));\
- ((_match) |= (((nm_tag_t)(_ctxt)) << SHIFT_CTXT)); \
+#define NEM_NMAD_SET_CTXT(_match, _ctxt) do { \
+ MPIU_Assert((_ctxt >= 0)&&(_ctxt<=(NEM_NMAD_MAX_CTXT)));\
+ ((_match) |= (((nm_tag_t)(_ctxt)) << SHIFT_CTXT)); \
}while(0)
#define NEM_NMAD_SET_PGRANK(_match, _pg_rank) do { \
((_match) |= (((nm_tag_t)(_pg_rank)) << SHIFT_PGRANK));\
Modified: mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_probe.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_probe.c 2011-02-05 01:19:00 UTC (rev 7918)
+++ mpich2/trunk/src/mpid/ch3/channels/nemesis/nemesis/netmod/newmad/newmad_probe.c 2011-02-08 16:26:26 UTC (rev 7919)
@@ -20,7 +20,15 @@
int mpi_errno = MPI_SUCCESS;
int ret;
- NEM_NMAD_DIRECT_MATCH(match_info,0,source,comm->context_id + context_offset);
+ NEM_NMAD_SET_CTXT(match_info,comm->context_id + context_offset);
+ if( source == MPI_ANY_SOURCE)
+ {
+ NEM_NMAD_SET_ANYSRC(match_info);
+ NEM_NMAD_SET_ANYSRC(match_mask);
+ }
+ else
+ NEM_NMAD_SET_SRC(match_info,source);
+
if (tag != MPI_ANY_TAG)
{
NEM_NMAD_SET_TAG(match_info,tag);
@@ -60,7 +68,15 @@
int mpi_errno = MPI_SUCCESS;
int ret;
- NEM_NMAD_DIRECT_MATCH(match_info,0,source,comm->context_id + context_offset);
+ NEM_NMAD_SET_CTXT(match_info,comm->context_id + context_offset);
+ if( source == MPI_ANY_SOURCE)
+ {
+ NEM_NMAD_SET_ANYSRC(match_info);
+ NEM_NMAD_SET_ANYSRC(match_mask);
+ }
+ else
+ NEM_NMAD_SET_SRC(match_info,source);
+
if (tag != MPI_ANY_TAG)
{
NEM_NMAD_SET_TAG(match_info,tag);
More information about the mpich2-commits
mailing list