IMHO, MPI_Op_commutative() should not fail for predefined reduced operations.
[dalcinl@kw2060 openmpi]$ ompi_info --version Open MPI v1.8 http://www.open-mpi.org/community/help/ [dalcinl@kw2060 openmpi]$ cat op_commutative.c #include <mpi.h> int main(int argc, char *argv[]) { int flag; MPI_Init(&argc,&argv); MPI_Op_commutative(MPI_SUM,&flag); MPI_Finalize(); return 0; } [dalcinl@kw2060 openmpi]$ mpicc op_commutative.c [dalcinl@kw2060 openmpi]$ ./a.out [kw2060:19303] *** An error occurred in MPI_Op_commutative [kw2060:19303] *** reported by process [140737157201921,140239272148992] [kw2060:19303] *** on communicator MPI_COMM_WORLD [kw2060:19303] *** MPI_ERR_OP: invalid reduce operation [kw2060:19303] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [kw2060:19303] *** and potentially your MPI job) -- Lisandro Dalcin --------------- CIMEC (UNL/CONICET) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1016) Tel/Fax: +54-342-4511169