@@ -101,19 +101,19 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
101101 ompi_proc_t * right_proc = ompi_comm_peer_lookup (comm , right );
102102 opal_convertor_clone (right_proc -> super .proc_convertor , & convertor , 0 );
103103 opal_convertor_prepare_for_send (& convertor , & rdtype -> super , rcount ,
104- (char * ) rbuf + right * extent );
104+ (char * ) rbuf + right * rcount * extent );
105105 packed_size = max_size ;
106106 err = opal_convertor_pack (& convertor , & iov , & iov_count , & packed_size );
107107 if (1 != err ) { goto error_hndl ; }
108108
109109 /* Receive data from the right */
110- err = MCA_PML_CALL (irecv ((char * ) rbuf + right * extent , rcount , rdtype ,
110+ err = MCA_PML_CALL (irecv ((char * ) rbuf + right * rcount * extent , rcount , rdtype ,
111111 right , MCA_COLL_BASE_TAG_ALLTOALLW , comm , & req ));
112112 if (MPI_SUCCESS != err ) { goto error_hndl ; }
113113
114114 if ( left != right ) {
115115 /* Send data to the left */
116- err = MCA_PML_CALL (send ((char * ) rbuf + left * extent , rcount , rdtype ,
116+ err = MCA_PML_CALL (send ((char * ) rbuf + left * rcount * extent , rcount , rdtype ,
117117 left , MCA_COLL_BASE_TAG_ALLTOALLW , MCA_PML_BASE_SEND_STANDARD ,
118118 comm ));
119119 if (MPI_SUCCESS != err ) { goto error_hndl ; }
@@ -122,7 +122,7 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
122122 if (MPI_SUCCESS != err ) { goto error_hndl ; }
123123
124124 /* Receive data from the left */
125- err = MCA_PML_CALL (irecv ((char * ) rbuf + left * extent , rcount , rdtype ,
125+ err = MCA_PML_CALL (irecv ((char * ) rbuf + left * rcount * extent , rcount , rdtype ,
126126 left , MCA_COLL_BASE_TAG_ALLTOALLW , comm , & req ));
127127 if (MPI_SUCCESS != err ) { goto error_hndl ; }
128128 }
0 commit comments