[mpich2-commits] r7790 - mpich2/trunk/src/mpi/coll
goodell at mcs.anl.gov
goodell at mcs.anl.gov
Thu Jan 20 16:09:15 CST 2011
Author: goodell
Date: 2011-01-20 16:09:14 -0600 (Thu, 20 Jan 2011)
New Revision: 7790
Modified:
mpich2/trunk/src/mpi/coll/collutil.h
Log:
add MPIR_Op_is_commutative to collutil.h
No reviewer.
Modified: mpich2/trunk/src/mpi/coll/collutil.h
===================================================================
--- mpich2/trunk/src/mpi/coll/collutil.h 2011-01-20 22:09:12 UTC (rev 7789)
+++ mpich2/trunk/src/mpi/coll/collutil.h 2011-01-20 22:09:14 UTC (rev 7790)
@@ -25,4 +25,24 @@
return 0;
}
+/* TODO with a modest amount of work in the handle allocator code we should be
+ * able to encode commutativity in the handle value and greatly simplify this
+ * routine */
+/* returns TRUE iff the given op is commutative */
+static inline int MPIR_Op_is_commutative(MPI_Op op)
+{
+ MPID_Op *op_ptr;
+
+ if (HANDLE_GET_KIND(op) == HANDLE_KIND_BUILTIN) {
+ return TRUE;
+ }
+ else {
+ MPID_Op_get_ptr(op, op_ptr);
+ if (op_ptr->kind == MPID_OP_USER_NONCOMMUTE)
+ return FALSE;
+ else
+ return TRUE;
+ }
+}
+
#endif /* !defined(COLLUTIL_H_INCLUDED) */
More information about the mpich2-commits
mailing list