diff --git a/src/USER-CUDA/comm_cuda.cpp b/src/USER-CUDA/comm_cuda.cpp index 50ff0916e7..9df27080dc 100644 --- a/src/USER-CUDA/comm_cuda.cpp +++ b/src/USER-CUDA/comm_cuda.cpp @@ -638,15 +638,17 @@ void CommCuda::forward_comm_pair(Pair *pair) MPI_Request request; MPI_Status status; + int nsize = pair->comm_forward; + for (iswap = 0; iswap < nswap; iswap++) { // pack buffer - n = pair->pack_comm(sendnum[iswap],&iswap, - buf_send,pbc_flag[iswap],pbc[iswap]); - int nrecv = recvnum[iswap]*n; + n = pair->pack_forward_comm(sendnum[iswap],&iswap, + buf_send,pbc_flag[iswap],pbc[iswap]); + int nrecv = recvnum[iswap]*nsize; if(nrecv<0) nrecv=-(nrecv+1)/2; - int nsend = sendnum[iswap]*n; + int nsend = n; if(nsend<0) nsend=-(nsend+1)/2; // exchange with another proc @@ -662,7 +664,7 @@ void CommCuda::forward_comm_pair(Pair *pair) // unpack buffer - pair->unpack_comm(recvnum[iswap],firstrecv[iswap],buf); + pair->unpack_forward_comm(recvnum[iswap],firstrecv[iswap],buf); } }