@@ -40,7 +40,12 @@ PROTOTYPE ERROR_CLASS alltoallv(BUFFER sendbuf, COUNT_ARRAY sendcounts,
4040 DATATYPE recvtype , COMM comm )
4141{
4242 int i , size , err ;
43+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_DECL (sendcounts );
44+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_DECL (sdispls );
45+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_DECL (recvcounts );
46+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_DECL (rdispls );
4347
48+ size = OMPI_COMM_IS_INTER (comm )?ompi_comm_remote_size (comm ):ompi_comm_size (comm );
4449 SPC_RECORD (OMPI_SPC_ALLTOALLV , 1 );
4550
4651 MEMCHECKER (
@@ -56,7 +61,6 @@ PROTOTYPE ERROR_CLASS alltoallv(BUFFER sendbuf, COUNT_ARRAY sendcounts,
5661
5762 memchecker_comm (comm );
5863
59- size = OMPI_COMM_IS_INTER (comm )?ompi_comm_remote_size (comm ):ompi_comm_size (comm );
6064 for ( i = 0 ; i < size ; i ++ ) {
6165 if (MPI_IN_PLACE != sendbuf ) {
6266 /* check if send chunks are defined. */
@@ -125,10 +129,21 @@ PROTOTYPE ERROR_CLASS alltoallv(BUFFER sendbuf, COUNT_ARRAY sendcounts,
125129 }
126130#endif
127131
132+ /* TODO: MPI_IN_PLACE? */
133+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_PREPARE (sendcounts , size , i );
134+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_PREPARE (sdispls , size , i );
135+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_PREPARE (recvcounts , size , i );
136+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_PREPARE (rdispls , size , i );
128137 /* Invoke the coll component to perform the back-end operation */
129- err = comm -> c_coll -> coll_alltoallv (sendbuf , sendcounts , sdispls , sendtype ,
130- recvbuf , recvcounts , rdispls , recvtype ,
131- comm , comm -> c_coll -> coll_alltoallv_module );
138+ err = comm -> c_coll -> coll_alltoallv (sendbuf , OMPI_BIGCOUNT_ARRAY_NAME (sendcounts ),
139+ OMPI_BIGCOUNT_ARRAY_NAME (sdispls ), sendtype ,
140+ recvbuf , OMPI_BIGCOUNT_ARRAY_NAME (recvcounts ),
141+ OMPI_BIGCOUNT_ARRAY_NAME (rdispls ), recvtype ,
142+ comm , comm -> c_coll -> coll_alltoallv_module );
143+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_POST (sendcounts );
144+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_POST (sdispls );
145+ OMPI_BIGCOUNT_ARRAY_COUNT_IN_POST (recvcounts );
146+ OMPI_BIGCOUNT_ARRAY_DISPL_IN_POST (rdispls );
132147 OMPI_ERRHANDLER_RETURN (err , comm , err , FUNC_NAME );
133148}
134149
0 commit comments