@@ -633,9 +633,11 @@ subroutine mpas_halo_exch_group_full_halo_exch(domain, groupName, iErr)
633
633
bufstart = group % groupRecvOffsets(i)
634
634
bufend = group % groupRecvOffsets(i) + group % groupRecvCounts(i) - 1
635
635
!TO DO : how do we determine appropriate type here?
636
+ !$acc host_data use_device(group % recvBuf)
636
637
call MPI_Irecv(group % recvBuf(bufstart:bufend), group % groupRecvCounts(i), MPI_REALKIND, &
637
638
group % groupRecvNeighbors(i), group % groupRecvNeighbors(i), comm, &
638
639
group % recvRequests(i), mpi_ierr)
640
+ !$acc end host_data
639
641
else
640
642
group % recvRequests(i) = MPI_REQUEST_NULL
641
643
end if
@@ -765,7 +767,6 @@ subroutine mpas_halo_exch_group_full_halo_exch(domain, groupName, iErr)
765
767
end select
766
768
end if
767
769
end do
768
- !$acc update host(group % sendBuf(:))
769
770
770
771
!
771
772
! Initiate non- blocking sends to all neighbors
@@ -775,9 +776,11 @@ subroutine mpas_halo_exch_group_full_halo_exch(domain, groupName, iErr)
775
776
bufstart = group % groupSendOffsets(i)
776
777
bufend = group % groupSendOffsets(i) + group % groupSendCounts(i) - 1
777
778
!TO DO : how do we determine appropriate type here?
779
+ !$acc host_data use_device(group % sendBuf)
778
780
call MPI_Isend(group % sendBuf(bufstart:bufend), group % groupSendCounts(i), MPI_REALKIND, &
779
781
group % groupSendNeighbors(i), rank, comm, &
780
782
group % sendRequests(i), mpi_ierr)
783
+ !$acc end host_data
781
784
else
782
785
group % sendRequests(i) = MPI_REQUEST_NULL
783
786
end if
0 commit comments