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
=======================================================================

Reply via email to