Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine GetMPIsum(n,bufl,bufg)implicit noneinteger,intent(in)::nreal(8),intent(in)::bufl(n)real(8),intent(out)::bufg(n)if(ntiles(1)*ntiles(2)*ntiles(3)/=1)then!$acc host_data use_device(bufl,bufg)call MPI_ALLREDUCE(bufl,bufg,n&&,MPI_DOUBLE_PRECISION&&,MPI_SUM,comm3d,ierr)!$acc end host_dataelse!$acc serialbufg(:)=bufl(:)!$acc end serialendifend subroutine GetMPIsum