I think I traced a bug found by blacs testers with various versions of openmpi in ompi/datatype/datatype_unpack.c (ompi/datatype/dt_unpack.c in 1.0.x). This might be related to ticket #65. At least after applying the following patch (for 1.1.[01]), the blacs reduce amax seems to work correctly:
--- openmpi-1.1/ompi/datatype/datatype_unpack.c.orig +++ openmpi-1.1/ompi/datatype/datatype_unpack.c @@ -221,6 +221,8 @@ length = pConv->bConverted / pData->size; /* already done */ length = pConv->bConverted - length * pData->size; /* still left on the last element */ + length = pData->size - length; + if (length > remaining) length = 0; /* complete the last copy */ if( length != 0 ) { OMPI_DDT_SAFEGUARD_POINTER( user_memory, length, pConv->pBaseBuf, ======================================================================= Harald Forbert e-mail: harald.forb...@theochem.ruhr-uni-bochum.de Lehrstuhl fuer Theoretische Chemie Phone: ++49 (0)234/32-26751 Ruhr-Universitaet Bochum Fax: ++49 (0)234/32-14045 Universitaetsstrasse 150 D-44780 Bochum, Germany =======================================================================