Hi George,
This fix seems insufficient for multibyte datatypes...
The correct increment of the pointers is length * extent, isn't it?
(2012/04/06 23:50), bosilca_at_[hidden] wrote:
> Author: bosilca
> Date: 2012-04-06 10:50:04 EDT (Fri, 06 Apr 2012)
> New Revision: 26243
> URL: https://svn.open-mpi.org/trac/ompi/changeset/26243
>
> Log:
> Don't forget to move the pointers after the copy (only affects large data
> transfers).
>
> Text files modified:
> trunk/ompi/datatype/ompi_datatype.h | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> Modified: trunk/ompi/datatype/ompi_datatype.h
> ==============================================================================
> --- trunk/ompi/datatype/ompi_datatype.h (original)
> +++ trunk/ompi/datatype/ompi_datatype.h 2012-04-06 10:50:04 EDT (Fri, 06 Apr 2012)
> @@ -289,8 +289,11 @@
> while( 0 != count ) {
> length = INT_MAX;
> if( ((size_t)length)> count ) length = (int32_t)count;
> - rc = opal_datatype_copy_content_same_ddt(&type->super, count, pDestBuf, pSrcBuf );
> + rc = opal_datatype_copy_content_same_ddt(&type->super, length,
> + pDestBuf, pSrcBuf );
> if( 0 != rc ) return rc;
> + pDestBuf += (ptrdiff_t)length;
> + pSrcBuf += (ptrdiff_t)length;
> count -= (size_t)length;
> }
> return 0;
> _______________________________________________
> svn-full mailing list
> svn-full_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/svn-full
>
>
--
$BIY;NDL3t<02q<R(B $B<!@$Be(BTC$B3+H/K\It(B
$B%=%U%H%&%'%"3+H/E}3gIt(B $BBh;M3+H/It(B
$B0BC#(B $BCNLi(B (ADACHI Tomoya) (adachi.tomoya_at_[hidden])
tel: 7103-8632($BFb@~(B) 044-754-8769($B30@~(B)
|