MPI_Allreduce Interface

public interface MPI_Allreduce

Called by

interface~~mpi_allreduce~~CalledByGraph interface~mpi_allreduce m_mpi::MPI_Allreduce none~handle_snapshot_step m_snapshot_manager::snapshot_manager_t%handle_snapshot_step none~handle_snapshot_step->interface~mpi_allreduce proc~compute_outflow_params m_case_cylinder::case_cylinder_t%compute_outflow_params proc~compute_outflow_params->interface~mpi_allreduce proc~decomposition_2decomp~2 m_decomp::decomposition_2decomp proc~decomposition_2decomp~2->interface~mpi_allreduce proc~define_bc_channel m_case_channel::case_channel_t%define_BC_channel proc~define_bc_channel->interface~mpi_allreduce proc~field_max_mean_cuda m_cuda_backend::cuda_backend_t%field_max_mean_cuda proc~field_max_mean_cuda->interface~mpi_allreduce proc~field_max_mean_omp m_omp_backend::omp_backend_t%field_max_mean_omp proc~field_max_mean_omp->interface~mpi_allreduce proc~field_volume_integral_cuda m_cuda_backend::cuda_backend_t%field_volume_integral_cuda proc~field_volume_integral_cuda->interface~mpi_allreduce proc~field_volume_integral_omp m_omp_backend::omp_backend_t%field_volume_integral_omp proc~field_volume_integral_omp->interface~mpi_allreduce proc~scalar_product_cuda m_cuda_backend::cuda_backend_t%scalar_product_cuda proc~scalar_product_cuda->interface~mpi_allreduce proc~scalar_product_omp m_omp_backend::omp_backend_t%scalar_product_omp proc~scalar_product_omp->interface~mpi_allreduce proc~vector_norm_squared_cuda m_cuda_backend::cuda_backend_t%vector_norm_squared_cuda proc~vector_norm_squared_cuda->interface~mpi_allreduce proc~vector_norm_squared_omp m_omp_backend::omp_backend_t%vector_norm_squared_omp proc~vector_norm_squared_omp->interface~mpi_allreduce none~handle_io_step m_io_manager::io_manager_t%handle_io_step none~handle_io_step->none~handle_snapshot_step proc~define_bc_cylinder m_case_cylinder::case_cylinder_t%define_BC_cylinder proc~define_bc_cylinder->proc~compute_outflow_params proc~run m_base_case::base_case_t%run proc~run->none~handle_io_step program~xcompact xcompact program~xcompact->proc~run

Module Procedures

private subroutine allreduce_in_place(sendbuf, recvbuf, count, datatype, op, comm, ierror)

Reducing one rank's contribution in place leaves the buffer as it is, whatever its type, shape or the operation asked for.

Arguments

Type IntentOptional Attributes Name
type(mpi_in_place_t), intent(in) :: sendbuf
type(*), intent(inout), dimension(..) :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(out) :: ierror

private subroutine allreduce_r32(sendbuf, recvbuf, count, datatype, op, comm, ierror)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in) :: sendbuf
real(kind=real32), intent(out) :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(out) :: ierror

private subroutine allreduce_r64(sendbuf, recvbuf, count, datatype, op, comm, ierror)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: sendbuf
real(kind=real64), intent(out) :: recvbuf
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(out) :: ierror

private subroutine allreduce_r64_1d(sendbuf, recvbuf, count, datatype, op, comm, ierror)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: sendbuf(:)
real(kind=real64), intent(out) :: recvbuf(:)
integer, intent(in) :: count
integer, intent(in) :: datatype
integer, intent(in) :: op
integer, intent(in) :: comm
integer, intent(out) :: ierror