CommGroupDescription Derived Type

type, public :: CommGroupDescription


Inherited by

type~~commgroupdescription~~InheritedByGraph type~commgroupdescription CommGroupDescription type~commgroupdescriptionvector CommGroupDescriptionVector type~commgroupdescriptionvector->type~commgroupdescription elements type~commgroupdescriptionvectoriterator CommGroupDescriptionVectorIterator type~commgroupdescriptionvectoriterator->type~commgroupdescription elements type~commgroupdescriptionvectorriterator CommGroupDescriptionVectorRIterator type~commgroupdescriptionvectorriterator->type~commgroupdescription elements type~simplecommsplitter SimpleCommSplitter type~simplecommsplitter->type~commgroupdescriptionvector group_descriptions type~mapl_cap MAPL_Cap type~mapl_cap->type~simplecommsplitter splitter type~servermanager ServerManager type~mapl_cap->type~servermanager cap_server type~multicommserver MultiCommServer type~multicommserver->type~simplecommsplitter splitter type~multigroupserver MultiGroupServer type~multigroupserver->type~simplecommsplitter splitter type~servermanager->type~simplecommsplitter splitter type~extdatadriver ExtDataDriver type~extdatadriver->type~servermanager cap_server

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
integer, public :: nnodes
integer, public :: npes
integer, public :: npes_per_node
logical, public :: isolate_nodes

Constructor

public interface CommGroupDescription

  • private function new_CommGroupDescription(npes, nnodes, isolate_nodes, name, unusable, npes_per_node, rc) result(CommGroup)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: npes
    integer, intent(in) :: nnodes
    logical, intent(in) :: isolate_nodes
    character(len=*), intent(in) :: name
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(in), optional :: npes_per_node
    integer, intent(out), optional :: rc

    Return Value type(CommGroupDescription)


Type-Bound Procedures

procedure, public :: comm_group_range

  • private subroutine comm_group_range(this, my_node, my_rank, nodes_sizes, start_node, start_rank, next_node, next_rank, IamInGroup, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(CommGroupDescription), intent(in) :: this
    integer, intent(in) :: my_node
    integer, intent(in) :: my_rank
    integer, intent(in) :: nodes_sizes(:)
    integer, intent(in) :: start_node
    integer, intent(in) :: start_rank
    integer, intent(out) :: next_node
    integer, intent(out) :: next_rank
    logical, intent(inout) :: IamInGroup
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

Source Code

   type :: CommGroupDescription
      integer :: npes_per_node
      integer :: npes
      integer :: nnodes
      logical :: isolate_nodes
      character(:), allocatable :: name
   contains
      procedure :: comm_group_range
   end type CommGroupDescription