flow_allgather_owned_vector Subroutine

public subroutine flow_allgather_owned_vector(flow, local_global, global)

Gathers locally-updated 3D vector cell values and broadcasts to the global mesh.

This optimized version performs a single MPI_Allgatherv for all 3 components to minimize communication latency.

Arguments

Type IntentOptional Attributes Name
type(flow_mpi_t), intent(inout) :: flow
real(kind=rk), intent(in) :: local_global(:,:)
real(kind=rk), intent(out) :: global(:,:)

Calls

proc~~flow_allgather_owned_vector~~CallsGraph proc~flow_allgather_owned_vector mod_mpi_flow::flow_allgather_owned_vector proc~flow_allgather_owned_matrix mod_mpi_flow::flow_allgather_owned_matrix proc~flow_allgather_owned_vector->proc~flow_allgather_owned_matrix mpi_allgatherv mpi_allgatherv proc~flow_allgather_owned_matrix->mpi_allgatherv proc~check_mpi~2 mod_mpi_flow::check_mpi proc~flow_allgather_owned_matrix->proc~check_mpi~2 proc~fatal_error mod_kinds::fatal_error proc~flow_allgather_owned_matrix->proc~fatal_error proc~prepare_matrix_gather mod_mpi_flow::prepare_matrix_gather proc~flow_allgather_owned_matrix->proc~prepare_matrix_gather proc~profiler_start mod_profiler::profiler_start proc~flow_allgather_owned_matrix->proc~profiler_start proc~profiler_stop mod_profiler::profiler_stop proc~flow_allgather_owned_matrix->proc~profiler_stop proc~check_mpi~2->proc~fatal_error proc~prepare_matrix_gather->proc~fatal_error mpi_wtime mpi_wtime proc~profiler_start->mpi_wtime proc~find_or_create_timer mod_profiler::find_or_create_timer proc~profiler_start->proc~find_or_create_timer proc~profiler_stop->mpi_wtime proc~profiler_stop->proc~find_or_create_timer proc~record_edge mod_profiler::record_edge proc~profiler_stop->proc~record_edge

Source Code

   subroutine flow_allgather_owned_vector(flow, local_global, global)
      type(flow_mpi_t), intent(inout) :: flow
      real(rk), intent(in) :: local_global(:,:)
      real(rk), intent(out) :: global(:,:)

      call flow_allgather_owned_matrix(flow, local_global, global)
   end subroutine flow_allgather_owned_vector