mpi_types_mod module reference

Defines a derived type with procedures and parameters relating to components of CanESM5.

More…

Data Types

group_info_t

Define the task group properties for a given component.

Functions/Subroutines

initialize_group()

Routine that populates a group_info structure with information about members of a given component.

broadcast_group()

Broadcast group information to all processes.

assignment_group()

Define the assignment operator for the group type by copying all internal fields.

Detailed Description

Defines a derived type with procedures and parameters relating to components of CanESM5.

Type Documentation

type mpi_types_mod/group_info_t

Define the task group properties for a given component.

Type fields
  • % communicator [integer(kind=mpi_integer_kind),private] :: The communicator, NULL on ranks not part of the group.

  • % id [integer(kind=mpi_integer_kind),private] :: The group id based on the enums.

  • % leader [integer(kind=mpi_integer_kind),private] :: The leader of the group based on MPI_COMM_WORLD rank.

  • % global_ranks [integer(kind=mpi_integer_kind)(:),allocatable, private] :: Ranks within the MPI_COMM_WORLD.

  • % initialize [procedure,private]

  • % broadcast [procedure,private]

  • % assignment_group [procedure,private]

  • % assignment [generic,private]

Function/Subroutine Documentation

subroutine mpi_types_mod/initialize_group(self, group_comm, group_id)

Routine that populates a group_info structure with information about members of a given component.

Parameters
  • self :: [inout] The instance of group_info_t() to be populatedto be populated

  • group_comm :: [in] The group communicator

  • group_id :: [in] The group identifier

subroutine mpi_types_mod/broadcast_group(self, broadcaster)

Broadcast group information to all processes.

Parameters
  • self :: [inout] The specific instance of group_info_t()

  • broadcaster :: [in] The rank to broadcast information from

subroutine mpi_types_mod/assignment_group(other, self)

Define the assignment operator for the group type by copying all internal fields.

Parameters
  • other :: [out] The group to be copied to

  • self :: [in] The group to be copied