32bit整数スカラの総和Allreduceをin-placeで実行する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mpi_context), | intent(in) | :: | ctx | |||
| integer(kind=i32), | intent(inout) | :: | value |
subroutine mpi_allreduce_sum_i32_scalar(ctx, value) type(mpi_context), intent(in) :: ctx integer(i32), intent(inout) :: value #ifdef USE_MPI include 'mpif.h' integer :: sendval, recvval, ierr if (.not. ctx%enabled) return sendval = int(value, kind=kind(0)) call MPI_Allreduce(sendval, recvval, 1, MPI_INTEGER, MPI_SUM, MPI_COMM_WORLD, ierr) value = int(recvval, kind=i32) #endif end subroutine mpi_allreduce_sum_i32_scalar