31#include "implicit_f.inc"
39 CHARACTER(len=*),
INTENT(in) :: MY_OPERATION
41 REAL(=8), dimension(my_size),
INTENT(in) ::
VALUE
42 REAL(kind=8), dimension(my_size),
INTENT(out) :: res
49 INTEGER :: MPI_OPERATION
52 IF(my_operation(1:3)==
"SUM")
THEN
54 ELSEIF(my_operation(1:4)==
"PROD")
THEN
55 mpi_operation=mpi_prod
56 ELSEIF(my_operation(1:3)==
"MAX")
THEN
58 ELSEIF(my_operation(1:3)==
"MIN")
THEN
64 CALL mpi_allreduce(
VALUE,res,my_size,mpi_double_precision,mpi_operation,my_comm,error)
subroutine mpi_allreduce(sendbuf, recvbuf, cnt, datatype, operation, comm, ierr)