FMS  2026.01.01-dev
Flexible Modeling System
mpp_pset_mod

Handles PSETs(Persistent Shared-memory Execution Threads) for mpp modules. More...

Data Types

interface  mpp_pset_broadcast_ptr
 
interface  mpp_pset_print_chksum
 
type  mpp_pset_type
 
interface  mpp_recv_ptr
 
interface  mpp_send_ptr
 

Functions/Subroutines

subroutine, public mpp_pset_broadcast (pset, a)
 
subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 
subroutine, public mpp_pset_check_ptr (pset, ptr)
 
subroutine, public mpp_pset_create (npset, pset, stacksize, pelist, comm)
 Create a pset. More...
 
subroutine, public mpp_pset_delete (pset)
 
subroutine, public mpp_pset_get_root_pelist (pset, pelist, comm)
 Get the root pelist of a pset.
 
subroutine, public mpp_pset_init
 
integer function, public mpp_pset_numroots (pset)
 
subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 
subroutine, public mpp_pset_print_stack_chksum (pset, caller)
 
logical function, public mpp_pset_root (pset)
 
subroutine, public mpp_pset_segment_array (pset, ls, le, lsp, lep)
 
subroutine, public mpp_pset_stack_push (pset, ptr, len)
 
subroutine, public mpp_pset_stack_reset (pset)
 
subroutine, public mpp_pset_sync (pset)
 
subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 
subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 

Variables

type(mpi_commcomm
 
integer hiwm
 
logical initialized =.FALSE.
 
integer lstack
 
integer maxstack
 
logical module_is_initialized =.FALSE.
 
character(len=32) name
 
integer next_in_pset
 
integer npset
 
integer(pointer_kind) p_stack
 
integer, dimension(:), allocatable pelist
 
integer pos
 
integer prev_in_pset
 
integer, dimension(:), allocatable pset
 
logical root
 
integer root_in_pset
 
integer, dimension(:), allocatable root_pelist
 
real, dimension(:), allocatable stack
 
character(len=256) text
 
logical verbose =.FALSE.
 

Detailed Description

Handles PSETs(Persistent Shared-memory Execution Threads) for mpp modules.

Author
V. Balaji (v.bal.nosp@m.aji@.nosp@m.noaa..nosp@m.gov)
Date
2006-01-15

Data Type Documentation

◆ mpp_pset_mod::mpp_pset_broadcast_ptr

interface mpp_pset_mod::mpp_pset_broadcast_ptr

Definition at line 54 of file mpp_pset.F90.

Private Member Functions

subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 

◆ mpp_pset_mod::mpp_pset_print_chksum

interface mpp_pset_mod::mpp_pset_print_chksum

Definition at line 66 of file mpp_pset.F90.

Private Member Functions

subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 

◆ mpp_pset_mod::mpp_pset_type

type mpp_pset_mod::mpp_pset_type

Definition at line 73 of file mpp_pset.F90.

Collaboration diagram for mpp_pset_type:
[legend]

Private Attributes

type(mpi_commcomm
 
integer hiwm
 
logical initialized =.FALSE.
 
integer lstack
 
integer maxstack
 
character(len=32) name
 
integer next_in_pset
 
integer npset
 
integer(pointer_kind) p_stack
 
integer, dimension(:), allocatable pelist
 
integer pos
 
integer prev_in_pset
 
integer, dimension(:), allocatable pset
 
logical root
 
integer root_in_pset
 
integer, dimension(:), allocatable root_pelist
 
real, dimension(:), allocatable stack
 

◆ mpp_pset_mod::mpp_recv_ptr

interface mpp_pset_mod::mpp_recv_ptr

Definition at line 62 of file mpp_pset.F90.

Private Member Functions

subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 

◆ mpp_pset_mod::mpp_send_ptr

interface mpp_pset_mod::mpp_send_ptr

Definition at line 58 of file mpp_pset.F90.

Private Member Functions

subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 

Function/Subroutine Documentation

◆ mpp_pset_create()

subroutine, public mpp_pset_mod::mpp_pset_create ( integer, intent(in)  npset,
type(mpp_pset_type), intent(inout)  pset,
integer, intent(in), optional  stacksize,
integer, dimension(:), intent(in), optional  pelist,
type(mpi_comm), intent(in), optional  comm 
)

Create a pset.

This must be called by all PEs in the parent pelist. mpset must be an exact divisor of npes.

Definition at line 444 of file mpp_pset.F90.