particle_source_plan_matches_mpi Function

public pure function particle_source_plan_matches_mpi(plan, local_rank, n_ranks, mpi_argument_present) result(matches)

source plan がこの rank/size と mpi 引数の有無で構築されたかを返す。 rank、size、mpi 引数の有無はそれぞれ独立に一致する必要がある。

Arguments

Type IntentOptional Attributes Name
type(particle_source_plan_type), intent(in) :: plan

build_particle_source_plan で構築した source plan。

integer(kind=i32), intent(in) :: local_rank

今回解決した rank 番号。

integer(kind=i32), intent(in) :: n_ranks

今回解決した rank 番号。 今回解決した rank 数。

logical, intent(in) :: mpi_argument_present

今回 mpi_context を渡したか。

Return Value logical


Source Code

  pure logical function particle_source_plan_matches_mpi( &
    plan, local_rank, n_ranks, mpi_argument_present &
    ) result(matches)
    type(particle_source_plan_type), intent(in) :: plan
    integer(i32), intent(in) :: local_rank, n_ranks
    logical, intent(in) :: mpi_argument_present

    matches = plan%mpi_rank == local_rank .and. plan%mpi_size == n_ranks .and. &
              (plan%mpi_argument_present .eqv. mpi_argument_present)
  end function particle_source_plan_matches_mpi