data_partition_t Derived Type

type, public :: data_partition_t

encapsulate a description of the data subset the executing image owns


Inherits

type~~data_partition_t~~InheritsGraph type~data_partition_t data_partition_t type~bin_t bin_t type~data_partition_t->type~bin_t bin

Components

Type Visibility Attributes Name Initial
type(bin_t), private, allocatable :: bin(:)

Constructor

public interface data_partition_t

  • private pure module function construct(cardinality) result(data_partition)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: cardinality

    Return Value type(data_partition_t)


Type-Bound Procedures

procedure, public :: define_partitions

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private pure module subroutine define_partitions(self, cardinality)

    define the range of data identification numbers owned by the executing image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(inout) :: self
    integer, intent(in) :: cardinality

procedure, public :: first

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private pure module function first(self, image_number) result(first_index)

    the result is the first identification number owned by the executing image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    integer, intent(in), optional :: image_number

    Return Value integer

  • private interface gather_real32_2D_array()

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    Arguments

    None
  • private interface gather_real64_2D_array()

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    Arguments

    None
  • private interface gather_real32_1D_array()

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    Arguments

    None
  • private interface gather_real64_1D_array()

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    Arguments

    None

procedure, public :: last

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private pure module function last(self, image_number) result(last_index)

    the result is the last identification number owned by the executing image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    integer, intent(in), optional :: image_number

    Return Value integer

procedure, private :: gather_real32_1D_array

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private module subroutine gather_real32_1D_array(self, a, result_image, dim)

    Gather the elements of an 1D array distributed along dimension dim onto result_image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    real(kind=real32), intent(inout) :: a(:)
    integer, intent(in), optional :: result_image
    integer, intent(in), optional :: dim

procedure, private :: gather_real32_2D_array

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private module subroutine gather_real32_2D_array(self, a, result_image, dim)

    Gather the elements of an 2D array distributed along dimension dim onto result_image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    real(kind=real32), intent(inout) :: a(:,:)
    integer, intent(in), optional :: result_image
    integer, intent(in), optional :: dim

procedure, private :: gather_real64_1D_array

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private module subroutine gather_real64_1D_array(self, a, result_image, dim)

    Gather the elements of an 1D array distributed along dimension dim onto result_image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    real(kind=real64), intent(inout) :: a(:)
    integer, intent(in), optional :: result_image
    integer, intent(in), optional :: dim

procedure, private :: gather_real64_2D_array

  • interface

    Gathers are inherently expensive and are best used either 1. Near the beginning/end of execution to amortize costs across an entire run or 2. Temporarily while developing/debugging code.

    private module subroutine gather_real64_2D_array(self, a, result_image, dim)

    Gather the elements of an 2D array distributed along dimension dim onto result_image

    Arguments

    Type IntentOptional Attributes Name
    class(data_partition_t), intent(in) :: self
    real(kind=real64), intent(inout) :: a(:,:)
    integer, intent(in), optional :: result_image
    integer, intent(in), optional :: dim