@@ -101,19 +101,19 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
101
101
ompi_proc_t * right_proc = ompi_comm_peer_lookup (comm , right );
102
102
opal_convertor_clone (right_proc -> super .proc_convertor , & convertor , 0 );
103
103
opal_convertor_prepare_for_send (& convertor , & rdtype -> super , rcount ,
104
- (char * ) rbuf + right * extent );
104
+ (char * ) rbuf + right * rcount * extent );
105
105
packed_size = max_size ;
106
106
err = opal_convertor_pack (& convertor , & iov , & iov_count , & packed_size );
107
107
if (1 != err ) { goto error_hndl ; }
108
108
109
109
/* 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 ,
111
111
right , MCA_COLL_BASE_TAG_ALLTOALLW , comm , & req ));
112
112
if (MPI_SUCCESS != err ) { goto error_hndl ; }
113
113
114
114
if ( left != right ) {
115
115
/* 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 ,
117
117
left , MCA_COLL_BASE_TAG_ALLTOALLW , MCA_PML_BASE_SEND_STANDARD ,
118
118
comm ));
119
119
if (MPI_SUCCESS != err ) { goto error_hndl ; }
@@ -122,7 +122,7 @@ mca_coll_base_alltoall_intra_basic_inplace(const void *rbuf, int rcount,
122
122
if (MPI_SUCCESS != err ) { goto error_hndl ; }
123
123
124
124
/* 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 ,
126
126
left , MCA_COLL_BASE_TAG_ALLTOALLW , comm , & req ));
127
127
if (MPI_SUCCESS != err ) { goto error_hndl ; }
128
128
}
0 commit comments